HAVING Komutu
GROUP BY ile grupladığımız alanlar içerisinden matematiksel işlemlerinin sonucunu alacağımız alanları belirlemek için HAVING komutunu kullanabiliriz. HAVING komutu WHERE ile beraberde kullanılabilir, WHERE olmadan da kullanılabilir.
Açıklama
HAVING komutu,
WHERE yan tümcesinde kullanılamayan toplama işlemleri için kriter belirlemek için kullanılır.
GROUP BY komutundan sonra kullanılması gerekir.
Söz Dizimi
HAVING
SELECT kolon1,....kolonN FROM TabloAdı WHERE kriterler1 GROUP BY kolon adı_G HAVING kriterler2 ORDER BY kolon adı_O |
PARAMETRELER
- kolon1,...kolonN:Hangi kolonlar gösterilecek
- tablo adı: İşlem yapılacak tablonun adı
- kriterler1: WHERE Kriterleri
- kolon_adı_G:Hangi kolonda gruplama yapılacak
- Kriterler2: HAVING Kriterleri
- kolon_adı_G: Hangi kolonda sıralama yapılacak
Şimdi örneklerimizi yapalım.
Örnekler
SELECT ulke, Sum([ucret]) AS [Ücret Toplamı], unvan
FROM personel
GROUP BY ulke, unvan
HAVING (unvan)= 'Mühendis';
Şimdi örneğimizi adım adım açıklayalım;
İlk önce SELECT komutu ile hangi alanların sorguya dahil olacağını belirttik,
Ülke,
Ücret,
Ünvan
Burada ücretin toplamını alıyoruz önce ve adını da Ücret Toplamı olarak belirliyoruz.
Daha sonra Tablo Adımızı belirtiyoruz.
Sonra HAVING ile alacağımız sonucu belirlemek için GROUP BY komutunu kullanıyoruz.
Ülke ve Ünvan alanlarını grupladık. Daha sonra HAVING ile ünvanı Mühendis olanları ayırdık.
Biraz anlaşılması zor bir konu ama pratik yaparak geliştirebilirsiniz.
Şimdi sorgumuzu yazalım, Sorgumuzun görüntüsü aşağıdaki gibi olmalıdır.
SELECT ulke, Count(personelID) AS Sonuc, Sum([ucret]) AS [Ucret Toplamı]
FROM personel
GROUP BY ulke
HAVING (((Sum([ucret]))>2500));
Ülkelere göre ücretleri toplayarak, toplam ücreti 2500 den büyük olan kayıtları Ülke, Sonuç ve Ücret Toplamı olarak listeledik.
Şimdi sonuca bakalım.
NOT: Unutmayın HAVING komutundan hemen önce GROUP BY ile gruplama sütunu veya sütunları belirtmeniz gerekmektedir.
HAVING komutu ile grupladığımız bir alandan nasıl sonuçlar alacağımızı öğrenmiş bulunmaktayız. Bundan sonraki makalemizde yeni bir SQL komutuyla devam edeceğiz.
Şimdilik
Hoşcakalın...
0 Yorumlar