Kapat
Anasayfa 153 0

SQL Sorgulama Dili (9) Gruplama İşlemleri

  Merhaba arkadaşlar yeni bir yazıyla yine karşınızdayım önceki yazımızda sıralama işlemlerini anlatıp örnek vermiştim böylece konuyu bitirmiştim. Bu yazımızda ise sql sorgularında gruplandırmak için kullanılan gruplama işlemlerini anlatacağım.

gruplama

Gruplandırma işlemlerinde bir tablonun satırları gruplara ayrılarak grup fonksiyonlarının bunlara uygulanması sağlanabilir. Böyle bir amaçla oluşturulmak istenen sorguda  “SELECT” deyimi ile “GROUP BY” anahtar kelimesi kullanılır.

Gruplandırma yapılırken kalıplaşmış ve kullanılması zorunlu grup fonksiyonları vardır. Bu fonksiyonlara göre gruplandırma yapılabilir. Sorulan sorularda “GÖRE” kelimesini gördüğümüz zaman sıralama ve gruplama yapacağımızı anlamamız gerekir.

KULLANIM BİÇİMİ

Select [Distinot]  { * │sütün, ……} , GrupFonksiyonu (sütun, ifade) from tablo Where {…… or, and vb. ……} [ Group By { sütun, ifade } ]   [ Order By { sütun, ifade }    [ asc │desc ]

GROUP BY’IN KULLANIMINDA DİKKAT EDİLECEK DURUMLAR

  1. Group By ile birlikte sütunların takma isimleri yani as etiketiyle verdiğimiz yeni isim kullanılmaz sütunun orijinal ismi kullanılmalıdır.
  2. Group By ile tanımlanan grupları belirtilen sütunlara göre artan sırada olduğu varsayılır. Bunu tersten olmasını istersek Order By fonksiyonunu kullanmamız gerekir.
  3. Group By içinde belirtilen sütun isimleri grup fonksiyonları içinde olmak zorunda değildir.
  4. Group By içinde belirtilen Sütun isimleri select listesinde yer almak zorunda değildir.

GROUP BY FONKSİYONLARI

Gruplandırma fonksiyonlarını anlayabilmeniz için aşağıda yer alan tabloya göre anlatmaya çalışacağım ve örnekleri bu tabloya göre yapacağım.

1)TOPLAM FONKSİYONU “SUM” = Sql sorgularında toplam fonksiyonu istenildiğinde bu fonksiyon kullanılır.

ÖRNEK: Tablodaki öğrencilerin yaşlarının toplamını bulunuz.         

ÇÖZÜM: Select SUM(Yas) As ToplamYas From Tbl_Ogrenci

2)ORTALAMA FONKSİYONU “AVG”= Sql sorgularında tabloda verilen bilgilerden herhangi bir bölümün ortalaması istenildiği zaman bu fonksiyon kullanılır.

ÖRNEK: Tablodaki öğrencilerin yaşlarının ortalamalarını bulunuz.

ÇÖZÜM: Select AVG(Yas) As OrtalamaYas From Tbl_Ogrenci

3)MAKSİMUM FONKSİYONU “MAX” = Sql sorgularında tabloda verilen bilgilerden en büyük olanı veriyi gösteren fonksiyondur.

ÖRNEK: Tablodaki öğrencilerinden yaşı en büyük olanı bulunuz.

ÇÖZÜM: Select MAX(Yas) As MaksimumYas From Tbl_Ogrenci

4)MİNUMUM FONKSİYONU “MİN” = Sql sorgularında tabloda verilen bilgilerden en küçük olanı veriyi gösteren fonksiyondur.

ÖRNEK: Tablodaki öğrencilerinden yaşı en küçük olanı bulunuz.

ÇÖZÜM: Select MİN(Yas) As MinumumYas From Tbl_Ogrenci

5)COUNT FONKSİYONU “KAÇ SATIR OLDUĞUNU VERİR” = Sql sorgularında tabloda verilen bilgilere göre listede kaç adet satır olduğunu gösterir.

ÖRNEK 1: Tabloda yer alan verilere göre kaç satır yaş girilmiştir?

ÇÖZÜM: Select COUNT(Yas)  as YasSatırı From Tbl_Ogrenci

ÖRNEK 2: Tabloda yer alan verilere göre adında “e” olanların sayısını listeleyiniz.

ÇÖZÜM 2: Select COUNT(Adi) as HarfOlanlar From Tbl_Ogrenci Where Adi LIKE ‘%e%’

ÖRNEK 3: Tabloda yer alan verilere göre öğrencilerin yaşlarının ortalamalarını AVG kullanmadan bulan sorguyu yazınız.

ÇÖZÜM 3: Select SUM(Yas) / COUNT(Yas)  as YasOrtalaması From Tbl_Ogrenci

  • ÖNEMLİ NOT:
  • Count(sütun adı) = Null olmayanların yani boş olmayanların sayısını gösterir.
  • Count(*) = Tabloda yer alan tüm satırların sayısını gösterir.    

ÖRNEK: Select Count(yas) , Count(*) , Count(Soyadı)

Açıklama = ilk kelimede yaş satırını istediği için ekrana dört çıkar ikinci kelimede tamamını istediği için oda dört çıkar ancak üçüncüsünde soyadı dediği ve NULL olmadığı için sıfır yazar.

ÖRNEK : Tabloda yer alan verilere göre öğrencilerin soyadında NULL olanları bulan sorguyu yazınız.

ÇÖZÜM: Select COUNT(*) – COUNT(Soyadi)  as NullOlanlar From Tbl_Ogrenci

GRUPSAL ŞARTLANDIRMA

     Select deyiminde kullandığımız Where gibi birde gruplarda kullanılan grupsal şartlandırma kuralı vardır. grupsal şartlandırma ifadesi “SELECT” komutuyla beraber kullanılır ve Group By’sız kullanılamaz. Komutu “HAVİNG” kelimesidir.

KULLANIM BİÇİMİ

Select [Distinot]  { * │sütün, ……} , GrupFonksiyonu (sütun, ifade) from tablo Where {…… or, and vb. ……} [ Group By { sütun, ifade } ]  [ Having grup şartı ]   [Order By { sütun, ifade }    [ asc │desc ]

NOT: Bazı sorularda grup şartı vardır (Ortalamaları 100’den büyük gibi) bu şartı Where komutu ile kullanamayız. Çünkü Having komutu içerisinde kullanılması gerekir. Sorularda hem grup hem de tek şartlandırma olabilir önemli olan hangi şart olduğunu anlamak.

 Evet arkadaşlar bu yazıda örnekleriyle beraber grupsal şartlandırma ve kullanım biçimini anlatmaya çalıştım umarım açıklayıcı olmuştur. Bundan sonraki yazımızda bu konuyla ilgili örnekler yaptığım bir yazı yayınlayacağım. Sonraki yazıda görüşmek üzere.

Bu konuyla ilgili diğer yazılara bakmak isterseniz;

https://www.gencprogramci.org/author/ci-d-em/

ÇİĞDEM ÇİFTÇİ 😀

[Toplam: 0   Ortalama: 0/5]
Avatar

Çiğdem Çiftçi {Çiğdem Çiftçi}

🐛 🦋 🎈 🌍