MsSQL SQL

SQL HAVING Kavramı

Aslında HAVING ifadesinin işlevi WHERE ifadesinin kine çok benziyor. Ancak kümeleme fonksiyonları ile WHERE ifadesi birlikte kullanılamadığından HAVING ifadesine ihtiyaç duyulmuştur. SQL having kullanımını aşağıdaki  SQL having örnekeri ile açıklayalım.

 I. ÖRNEK= 15 taneden az kitap okuyan öğrencilerin adı soyadı ve okuduğu kitap sayısını yazdırın en çok okuyandan en az okuyana sıralayınız.

1.Yöntem

 

2.Yöntem

 

2.ÖRNEK Aynı kitabı iki veya daha fazla okuyan öğrencileri listeleyiniz.

 

3.ÖRNEK Aklın isyanı adlı kitabı 2 kereden fazla okuyan öğrencileri ve kaç kere okuduğunu listeleyiniz.

 

4.ÖRNEK Arızalı olmayan ve 30 kereden fazla çıkan otobüsler otobüslerin plakasını ve kaç kere
sefere çıktığını listeleyiniz.

 

Arkadaşlar Bir arkadaşımızın merakı üzerine tekrar bazı örnekler ekleyeceğim;

İd              Ad             Soyad           yas           Cinsiyet           Sehir               Ülke               Maas

1               Ahmet      Yılmaz          20            E                         Ankara           Türkiye        2000

2              Mehmet    Efe                22             E                         Bolu                Türkiye        2000

3               Ayşe           Can               23             K                        İstanbul          Türkiye       3500

4             Fatma         Ak                  35             K                        Ankara             Türkiye       3200

5              Jhon           Smith           45             E                        New York         USA             3500

6             Frank          Cesanne          35         E                         Paris                 Fransa           3700

ÖRNEK; yaş ortalaması 30 un üzerinde olan ülkelerin maaş ortalamalarını getiren sorguyu yazmaya çalışalım. Burada 30 yaş üstü koşulu çalışanlar için değil ülkeler için yani gruplar geçerli.

Sorgunun çıktısı aşağıdaki gibi olacaktır:

ülke AVG(maaş)
Fransa 3700.0000
USA 3500.0000

Sorgunun döndürdüğü sonuç kümesine bakarak iki ülkenin (Türkiye ve Almanya) yaş ortalamalarının 30’dan küçük olduğunu söyleyebiliriz.

 

 

Arkadaşlar bu da son örneğimizdi !!!

 

 

 

 

Yorum

  • Hocam sağolun. Örnekleri yazmışsınız. Ben sunuyu hazırlamıştım. Mevcut örnekler de yeterince faydalı oldu. İyi çalışmalar.

  • Yazı için teşekkürler Aycan hocam. Bu hafta sql having kavramı ile ilgili sunu hazırlayıp derste sunacağım. Çok faydası olacağını düşünüyorum. Yanlız bir sorum olacaktı having ifadesinden sonra count(*) yerine farklı şeyler de kullanılabilir mi? Kullanabilirsek onun için de örnek yazarmısınız.

    • İyi Günler Asyacım;
      Aslında HAVİNG’ten sonra gelen Count(*) ifadesi Select ile ilişkili
      dir. Kullandığımız Count(*) ifadesi yerine Avg,Sum,Max,Min gibi ifadelerde kullanabiliriz. Bunun için yazımda örnekler yayınlayacağım…

Yorum Yap