MS Access Veritabanları, VBA ve SQL Kullanımı

Microsoft Access'e dair herşey...

SQL HAVING Komutu


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.

SQL HAVING



Şimdi sorgumuzu yazalım, Sorgumuzun görüntüsü aşağıdaki gibi olmalıdır.


SQL HAVING


Şimdi de sorgu sonuçlarımızı görmek için çalıştıralım.

SQL HAVING


Bir başka örnek daha yapalım,

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.

SQL HAVING



Şimdi  sonuca bakalım.

SQL HAVING




NOTUnutmayı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...

Yorum Gönder

0 Yorumlar