SQL Sorgusu için Komutların Çalışma Sırası – Big Datacı

SQL’in mantığını anlamak ve kodları daha kısa yazabilmek amacıyla SQL sorgusu için komutların çalışma sırasını öğrenilmesi gerekmektedir. Bunu öğrenerek yazılan kodların mantığını anlayarak kısa süre içerisinde hatalar kolaylıkla yakalanabilir.

SQL Nedir?

Öncelikle SQL’in tanımına bakalım. Structered Query Language(Yapılandırılmış sorgu dili) olarak bilinir. Veri tabanı işlemleri için kullanılan bir alt sorgulama dili olarak da bilinmektedir.

Veri tabanı yapısı

SQL Sorgusu Komut Çalıştırma Sırası

1) From

Sorgu çalıştıktan sonra SQL sorgusu öncelikle işlem yapacağı tabloya ulaşır. Bundan dolayı sorgularınızı yazarken öncelikle

Select*from TabloAdı

yazıp sonrasında gerekli işlemlerinizi yaparsanız, tablonuzun içerisindeki kolonları daha rahat bir şekilde getirirsiniz.

2) Join

Çalıştıracağınız sorguda join veya joinler varsa yani tablolarınızı ilişkilendirmeniz gerekiyorsa from’dan sonra joinler çalıştırılır. Eğer join yapmanız gerekirse

Select*from Tablo1 as t1 inner join Tablo2 as t2 on t1.PK1=t2.FK2

(Kodun açıklaması: Tablo 1’in alias’ı(Takma adı). Tablo 1’in primary key’i(birincil anahtarı) eşittir Tablo 2’nin alias’ı. Tablo2’nin foreign key’i (yabancıl anahtarı) şeklinde gerçekleştirilmektedir. Bunun tam tersi de olabilir yani tablo1’in foreign key’i ile tablo2’nin primary key’i de eşitlenebilir. Sorgunuzda bulunan tabloların biçimine göre şekillenecektir.)

şeklinde yazıp devam etmeniz daha rahat bir şekilde ilerlemenizi sağlayacaktır.

3)Where

Çalıştıracağınız sorguda where komutu varsa where’den sonra gelen koşul durumları çalıştırılır. Where’den sonra sadece belirtilen koşullar için filtreleme işlemi yapılır.

Select*from Tablo1 as t1 inner join Tablo2 as t2 on t1.PK1=t2.FK2 where koşul1 and koşul 2

şekilde yazarak tablolarınızı filtreleyip işlemlerinizi kolaylaştırabilirsiniz.

4) Group By

Group by, kolon isimlerine göre gruplama yapmanızı sağlar. çalıştıracağınız sorgu sonucunda her gruplama için tek kayıt görürsünüz ve seçtiniz kolanlarda gruplama için gerekli toplama işlemlerini yapar.(Count, AVG, Max,Min, Sum ile birlikte kullanılır.)

Group by, kümeleme fonksiyonları ile birlikte kullanılır. Kümeleme fonksiyonları aggregate fonksiyonları olarak tanımlanmaktadır.

Distinct komutuna kıyasla Group by kullanımı daha fazla olmakla birlikte sorgunuzun daha performanslı olmasını sağlamaktadır.

Select COUNT(kolon1) from tablo1 where koşul1 group by kolon1

sırasıyla yazabilirsiniz.

5)Having

Having, Group by ile beraber kullanılmaktadır. Tablo için where ne ise group by için de having öyledir. Yani having, group by’ın ardındaki kolonları filtrelemektedir.

Select COUNT(kolon1) from tablo1 where koşul1 group by kolon1 having (group by için şart)

şeklinde sıralanabilir.

6) Select

Select veri tabanı tablosundan verileri tablo şeklinde almayı sağlar. Sorgunun çalışması için gösterilmesi istenen kolonların isimleri yazılmaktadır.

Select kolon1, kolon2 from Tablo1

şeklinde yazılabilir.

7) Distinct

Distinct komutu, kolonlar üzerinde gruplama yaparak kolonları tek hale dönüştürür. Group by ile benzer işleve sahip olmakla beraber çok küçük bir farkı vardır. Bu fark ise Group by select yapmadan sorgu çalıştırırken, Distinct komutu için select sorgusu çalıştırılır.

Select DISTINCT kolon1, kolon2 from Tablo1

şeklinde yazılabilir.

8) Order By

Sorgu çalıştırıldıktan sonra azalan ya da artan şekilde kolon isimlerine göre sıralama yapılmasını sağlar. SQL’de varsayılan artan(ASC) sıralamadır.

Order by komutu birden fazla kolonu sıralayabilmektedir.

Select kolon1, kolon2 from Tablo1 order by kolon1

şeklinde yazılabilir.

9) Limit/ Offset

Limit ve Offset sorgu sonucunda gösterilecek kayıt sayısını belirlemek için kullanılan komutlardır.

Select*from Tablo1 LIMIT 5

(Tablo 1’deki 5 kaydı gösterir.)

Select*from Tablo 1 OFFSET 10 rows

(Tablo 1’deki 10 kaydır göstermektedir.)

SQL komutları çalıştırma sırası bilinerek SQL için gerekli olan konulara ve kullanılacak komutların nasıl çalıştığını anlayabilirsiniz.

Bir Cevap Yazın