25 Mayıs 2021

Temel SQL komutları

Bu yazımla sizlere SQL dilinde kullanılan temel komutlardan bahsedeceğim. Keyifli okumalar!

TEMEL SQL KOMUTLARI

 

Herkese merhaba,

Bu yazımla sizlere SQL dilinde kullanılan temel komutlardan bahsedeceğim.

Keyifli okumalar ☺

 

SQL Nedir?

 

SQL, verileri yönetmek ve tasarlamak için kullanılan bir dildir.

SQL, kendisi bir programlama dili olmamasına rağmen birçok

kişi tarafından programlama dili olarak bilinir. SQL herhangi bir

veri tabanı ortamında kullanılan bir alt dildir.

 

Şimdi de SQL dilinde kullanılan temel komutlardan bahsedelim.

 

SELECT KULLANIMI

 

Select, veri tabanında bulunan verileri seçmek için kullanılmaktadır.

Select ifadesinden sonra tabloda görüntülenmesi istenen alanlar yazılmalıdır. Tablodaki tüm alanların

görüntülenmesi isteniyor ise  *  yazılması gereklidir.

Yazım şekli ;

SELECT  Alan Adı, Alan Adı1  FROM  [Tablo Adı]

 SELECT * FROM  [Tablo Adı] 

Örnek 1 : “Select * from Ortak.Yapi”  yazarak Ortak.Yapi tablosundaki tüm alanların görüntülenmesi

sağlandı.

 

 

Örnek 2 : “Select Id, YapiAdi, Bucak, Mahalle from Ortak.Yapi”  yazarak Ortak.Yapi tablosundaki ID, Yapı Adı,

Bucak ve Mahalle alanlarının görüntülenmesi sağlandı.

 

 

WHERE KULLANIMI

 

Sql’de where ifadesi sorguya koşul belirtmek için kullanılmaktadır.

Bir tablodaki tüm alanları görüntülemek istemediğimiz zaman ya da tabloda güncelleme ve silme

yapacağımız durumlarda bir koşula göre yapmamız gerekebilir. Bu gibi durumlar için where koşulunu

kullanmamız gerekebilir.

Yazım şekli ;

SELECT  Alan Adı, Alan Adı1  FROM  [Tablo Adı] Where [ŞART]

Örnek 1 : “select * from Ortak.Yapi where YapiDurumu=27”  yazarak Ortak.Yapi tablosundaki yapı durumu

“yıkılmış” olan yapıların görüntülenmesi sağlandı.  (27 = “yapı yıkıldı” durumudur)

 

 

Toplamda 190,421 kayıt geldiği görülmüştür.

İhtiyaca göre koşul sayısı arttırılabilir.

Örnek 2 : “select * from Ortak.Yapi where YapiDurumu=27 and IsActive=1” yazarak Ortak.Yapi

tablosundaki yapı durumu “yıkılmış” ve “aktif“ olan yapıların görüntülenmesi sağlandı.

 

 

Aktif olanlar sorgulandığında toplam kayıt sayısının 185,986 olduğu görülür.

 

UPDATE KULLANIMI

 

Update işlemi tabloda bulunan bilgilerin değiştirilmesi için kullanılmaktadır.

Update işleminde değiştirilmesi istenen kolon isimleri yazılır ve yeni değeri koşul ya da koşulsuz bir şekilde

güncellenir.

Yazım şekli;

Update [Tablo Adı] set Alan1= Değer1, Alan2= Değer2 where [ŞART]

Update ifadesinden sonra güncellenmek istenen tablo adı, set ifadesinden sonra güncellenecek alanlar yazılır ve alanların karşısına yeni değerleri yazılır. Şart ifadesi ile de eklenerek kayıt güncellenir.

 

Örnek 1 : “update Ortak.Yapi set YapiAdi=DEMİR where Id=1” yazılarak Ortak.Yapi tablosunda Id’si 1 olan kaydın yapı adı “DEMİR” olarak güncellenmiştir.

 

 

 

 

Eğer şart belirtilmez ise tablodaki güncellenmek istenen alan tüm kayıtlar için güncellenecektir.

Örnek 2 : “update Ortak.Yapi set YapiAdi= ‘Derya’ ” yazıldığında şart belirtilmediği için Ortak.Yapi tablosundaki tüm yapıların yapı adı “Derya” olarak güncellenecektir.

 

DELETE KULLANIMI

 

Delete işlemi bir tablo içerisindeki kayıtları silmek için kullanılır.

Koşul kullanılarak belirtilen satırlardaki kayıtların silinebileceği gibi tabloda bulunan tüm kayıtların da silinmesi sağlanabilir.

Yazım şekli;

Delete from [Tablo Adı] where [ŞART]

Delete from ifadesinden sonra tablo adı yazılır ve şart ile de tabloda hangi alanların silineceği yazılır.

 

Delete from [Tablo Adı]

Şart ifadesi yazılmaz ise tabloda bulunan tüm kayıtların silinmesi sağlanır.

 

Örnek 1 : Delete from Ortak.Yapi where Id=1”  yazılarak Ortak.Yapi tablosunda Id’si 1 olan kaydın silinmesi sağlanır.

 

Örnek 2 : Delete from Ortak.Yapi” yazılarak Ortak.Yapi tablosunda bulunan tüm kayıtların silinmesi sağlanır.

 

INSERT KULLANIMI

 

Bir tabloya veri eklemek için insert komutu kullanılır.

Tabloda bulunan satırlar yazılır ve satırlar için değerler atanarak Insert işlemi gerçekleştirilir.

Yazım şekli;

INSERT INTO [Tablo Adı] (Kolon) values (Değer)

 

Örnek : “select * from Ortak.Kurum”  Ortak.Kurum tablosunda Kurumlar sorgulandığında 2727 kaydın geldiği görülmektedir.

 

Ortak.Kurum tablosuna 1 kayıt daha eklemek için aşağıdaki gibi Insert komutu kullanılmıştır.

 Insert into Ortak.Kurum (KurumAdi, IlId, IlceId, IletisimAdresi, KurumTipi) values (‘Türkay’, ‘6’, ‘164’, ‘Ankara’, ‘4’)”  yazdığımızda Ortak.Kurum tablosuna KurumAdı=Türkay, IlId=6, IlceId=164, IletisimAdresi=Ankara ve KurumTipi=4 olan yeni bir kayıt eklenmiştir.

Toplam kayıt sayısının 2728 olduğu görülmektedir.

 

 

LIKE KULLANIMI

 

“Like” genellikle sütunda belirtilen bir kelimeyi aramak için kullanılır.

Bir alan içerisinden arama yapabilmek için kullanılmaktadır.

Like operatörü ile birlikte sıkça kullanılan iki tip vardır. Bunlar;

  • %  :  Yüzde işareti sıfır, bir veya birden çok karakteri temsil eder.
  • _   :  Alt çizgi tek bir karakteri temsil eder.

Yazım şekli;

Select * from [Tablo Adı] where [sütun adı] like  ‘aranmak istenen her ne ise yazılır’

Yukarıdaki şekilde kullanımda like operatörü where ile sorgulama ile aynı mantıkla çalışmaktadır. Bu nedenle aranılan ifadenin tam olarak eşit yazılması gerekmektedir.

Örnek 1 :  select * from Ortak.Kurum where KurumAdi like 'Ankara İl Müdürlüğü'

 

 

Arama yapacağımız değerin sadece başlangıç değerini biliyoruz ve gerisini tam olarak bilmiyorsak % işaretini arama yapacağımız kelimenin sonuna ekleriz.

Örnek 2 : select * from Ortak.Kurum where KurumAdi like ‘Anka%’ > bu ifade ile sorgulama yapıldığında Ortak.Kurum tablosunda kurum adı “Anka” ile başlayan kurumlar listelenecektir.

 

 

Arama yapacağımız değerin başını tam olarak bilmeyip sonunu bildiğimiz durumda % işaretini arama yapacağımız kelimenin başına ekleriz.

Örnek 3 : select * from Ortak.Kurum where KurumAdi like ‘%sitesi’  > bu ifade ile sorgulama yapıldığında Ortak.Kurum tablosunda kurum adı “sitesi” ile biten kurumlar listelenecektir.

 

 

Arama yapacağımız ifade arama yapacağımız alan içerisinde herhangi bir yerde geçiyor ise % ifadesini değerin başına ve sonuna ekleriz. Bu şekilde bize içerisinde ifadenin geçtiği bütün değerleri listeleyecektir.

Örnek 4 select * from Ortak.Kurum where KurumAdi like “%sam%  > bu ifade ile sorgulama yapıldığında Ortak.Kurum tablosunda kurum adı içerisinde “sam” geçen bütün kayıtlar listelenecektir.

 

 

TOP KULLANIMI

 

Tablodaki bütün kayıtları getirmek yerine belirtilen sayıda kaydı görüntülemek için kullanılır.

Örnek : select Top (10) * from Ortak.Kurum  bu ifade ile sorgulama yapıldığında Ortak.Kurum tablosundaki ilk 10 kayıt listelenecektir.

 

 

REPLACE KULLANIMI

 

Tablolarımızda çok sayıda kayıt varken bu kayıtlarda geçen bir ifadeyi başka bir ifade ile değiştirerek göstermek istediğimizde Replace komutunu kullanabiliriz.

Örneğin tabloda TCKN, ya da şifre gibi özel bilgiler varsa ve bunları göstermek yerine gizleyerek sorgulamak istiyorsak replace komutu ile TCKN ya da şifre gibi alanları “****” sembolü ile gizleyerek sorgulama yapabiliriz.

Yazım şekli;

Select  Replace (Alan Adı, Eski Veri, Yeni Veri) from Tablo Adı

 

Örnek:  Select Replace (KurumAdi, ‘FATİH’, ‘****’) from Ortak.Kurum    bu ifade ile sorgulama yapıldığında Ortak.Kurum tablosunda KurumAdi alanında FATİH ifadesi geçen kayıtlar *** ile gösterilecektir.

 

 

COUNT() KULLANIMI

 

Tablonun herhangi bir alanındaki kayıt sayısını öğrenmek için count fonksiyonunu kullanırız.

Yazım şekli;

Select Count(*) from Tablo Adı where şart

Select Count(alan adı) from Tablo Adı

Örnek: Yetki.Kullanici tablosundan KurumId=425 (Adıyaman il müdürlüğü)  olan kurumun kullanıcı sayısı için  sorgu yazalım.

Select Count(*) from Yetki.Kullanici where KurumId=425

Adıyaman İl Müdürlüğünde yetkili 21 kullanıcının olduğu görüntülenir.

 

 

Yukarıdaki örnekte Count(*) ifadesindeki * yerine KurumId yazıldığında da sorgunun aynı sonucu verdiği görülür.

Select Count(KurumId) from Yetki.Kullanici where KurumId=425

 

MAX() KULLANIMI

 

Seçilen sütunun en büyük değerini verir.

Sadece sayısal alanda değil aynı zamanda metinsel alanlarda da kullanılabilir. Bu durumda metinsel veriyi A’dan Z’ye dizip en sondaki kaydı verecektir.

Yazım şekli;

Select Max(Alan Adı) from Tablo Adı

Örnek: Select Max(TaksitTutari) from Finans.FaizYardimiKrediOdemePlani 

 

 

Finans.FaizYardimiKrediOdemePlani  tablosunda Taksit Tutarı en yüksek olan kaydın taksit tutarı bilgisi görüntülenir.

 

MİN() KULLANIMI

 

Seçilen sütunun en küçük değerini verir.

Sadece sayısal alanda değil aynı zamanda metinsel alanlarda da kullanılabilir. Bu durumda metinsel ifadeyi A’dan Z’ye dizip en sondaki kaydı verecektir.

Yazım şekli;

Select Min(Alan Adı) from Tablo Adı

Örnek: Select Min(TaksitTutari) from Finans.FaizYardimiKrediOdemePlani

 

 

Finans.FaizYardimiKrediOdemePlani  tablosunda Taksit Tutarı en düşük olan kaydın taksit tutarı bilgisi görüntülenir.

 

SUM() KULLANIMI

 

Sum() fonksiyonu, belirtilen alandaki değerlerin toplamını görmek için kullanılır. Sadece sayısal alanlarda kullanılabilir.

Yazım şekli;

Select Sum(Alan Adı) from Tablo Adı

Örnek: Select Sum(TaksitTutari) from Finans.FaizYardimiKrediOdemePlani

 

 

Finans.FaizYardimiKrediOdemePlani  tablosunda Taksit Tutarı alanındaki tutarların toplam bilgisi görüntülenir.

 

DISTINCT KULLANIMI

 

Select sorgusunda dönen aynı kayıtların listelenmemesi için, aynı kayıtları tek kayda indirerek listelemek için distinct komutu kullanılır.

Yazım şekli;

Select DISTINCT kolon Adı1, kolon Adı2, … from Tablo Adı

 

Örnek: Ortak.CografiKod tablomuzda normalde 1065 kayıt vardır.

Select DISTINCT Bolgesi from Ortak.CografiKod  sorgusu çalıştırıldığında 8 adet kaydın listelendiği görülmüştür. Bölgeye göre tekrarlanan kayıtların listelenmediği görülür.

 

 

Tekrar eden kayıtların sayısını öğrenmek için COUNT DISTINCT komutu birlikte kullanılır.

Yazım şekli;

Select COUNT (DISTINCT Kolon Adı) from Tablo Adı

Örnek : Select COUNT (DISTINCT Adi) from Yetki.Kullanici  sorgusunda aynı isimde olan kayıtların listesini verecektir. Bu örnekte 12388 kişinin ismi aynıdır.

 

 

AND ve OR KULLANIMI

 

AND : And operatöründe tüm koşullar sağlandığında kayıtlar görüntülenir.

OR : Or operatöründe koşullardan biri bile sağlanırsa kayıtlar görüntülenir.

Örnekler üzerinden daha anlaşılır olacaktır.

Yazım Şekli;

Select * from Tablo Adı where koşul1  and koşul2 …

Select * from Tablo Adı where koşul1 or koşul2

 

Örnek: Ortak.Kurum tablosundan KurumTipi=4 (belediye) ve IsActive=1 (aktif) olan kayıtları and operatörü ile listeyelim.

Select * from Ortak.Kurum where KurumTipi=4 and IsActive=1

Ortak.Kurum tablosunda bu koşula uyan 985 adet kaydın listelendiği görüntülenir.

 

 

Örnek: Ortak.Kurum tablosundan KurumTipi=4 (belediye) ya da KurumTipi=7 (İl Müdürlüğü) olan kayıtları or operatörü ile listeleyelim.

Select * from Ortak.Kurum where KurumTipi=4 or KurumTipi=7

Ortak.Kurum tablosunda bu koşula uyan 1190 adet kaydın listelendiği görüntülenir. Belediye ve il müdürlüklerinin listelendiği görüntülenir.

 

 

GROUP BY KULLANIMI

 

Group By komutu belirtilen alandaki değerleri gruplandırarak, her grup için istenen bilgiyi elde etmemizi sağlar.

Count, Max, Min, Sum ve Avg gibi fonksiyonlar ile birlikte kullanılır.

Yazım şekli;

Select AlanAdı1 , Fonksiyon(AlanAdı2)  from Tablo Adı Group By AlanAdı1

Örnekler üzerinden daha net anlaşılabilir.

Örnek :  Select YapiDurumu, Count(YapiDurumu) from Ortak.Yapi where YapiDurumu=27 group by YapiDurumu

Bu örnek ile Ortak.Yapi tablosunda Yapı Durumu=27 olan yapıların sayısı görüntülenir.

 

 

Örnek : Select YapiDurumu, Count(YapiDurumu) from Ortak.Yapi group by YapiDurumu

Bu örnek ile Ortak.Yapi tablosundaki tüm yapı durumlarında kaç adet yapının olduğu bilgisi görüntülenir.

 

 

ORDER BY KULLANIMI

 

Order By komutu select sorgusundan dönen sonuç tablosunda küçükten büyüğe (artan)  ya da büyükten küçüğe (azalan) doğru sıralama yapmak için kullanılır.

Kayıtları artan şekilde sıralamak için ASC (ascending) , azalan şekilde sıralamak için DESC (descending) anahtar sözcükleri kullanılır.

Yazım şekli;

Select * from Tablo Adı Order By Alan Adı Asc  > Alandaki değerler küçükten büyüğe doğru sıralanır.

Select * from TabloAdı Order By Alan Adı Desc > Alandaki değerler büyükten küçüğe doğru sıralanır.

 

Örnek: Select * from Finans.KiraYardimiOdemePlani Order By OdenecekYardimMiktar Asc

Bu örnek ile Finans.KiraYardimiOdemePlani tablosunda OdenecekYardimMiktar alanındaki değerlerin küçükten büyüğe doğru sıralandığı görüntülenir.

 

 

Örnek: Select * from Finans.KiraYardimiOdemePlani Order By OdenecekYardimMiktar Desc

Bu örnek ile Finans.KiraYardimiOdemePlani tablosunda OdenecekYardimMiktar alanındaki değerlerin büyükten küçüğe doğru sıralandığı görüntülenir.

 

 

 

Kaynakça

 

https://www.kodlamamerkezi.com/veritabani-sql/sql-count-max-min-sum-avg-fonksiyonlarinin-group-by-ile-kullanimi/

https://www.lifeacode.com/sql-dersleri/sql-egitimi.html

https://www.sqlkodlari.com/01-sql-kullanimi.asp

 

Türkay TÜRKÖZ