MS SQL eğitimlerimize Having kavramı ile devam ediyoruz. Having Group By’a özel bir yöntemdir. Temelde yaptığı iş gruplama durumunda şart yazabilmektir.

T-SQL de Where kavramı ile aynı görevi yapar.

Not: Sadece Group By ile kullanılır.

Where ifadesiyle beraber hesaplama fonksiyonları SUM MAX MIN etc. kullanılamaz. Ama Having ile bu fonksiyonlar kullanılabilir.

Durumu Anlayalım: Normal bir where’li Group By işleminde öncelikle where ile durum filtrelemesi yapılır sonra elde kalan veriler gruplanır. Ama Having önce gruplama işleminin yapılmasını bekler sonra bu veriler üzerinden filtreleme işlemini gerçekleştirir.

Kullanımı

SELECT KOLON_ADI FROM TABLO_ADI

GROUP BY KOLON_ADI HAVING KOLON_ADI = DEĞER

Burada eşittir yerine Where ile kullanabildiğiniz tüm operatörler kullanılabilir.

Haydi gelin canlı örneklerimizle olayı kavramaya çalışalım.

XENONBOX veritabanımız üzerinde yapacağız çalışmalarımızı.

SELECT SUPPLIERID, UNITPRICE, FROM PRODUCT 
GROUP BY SUPPLIERID,UNITPRICE 
HAVING UNITPRICE>5000
24 5300.00
28 5500.00
7 6250.00
8 8100.00
4 9700.00
12 12379.00
18 26350.00

Yaptığı işlemi açıklayalım.

SUPPLIERID ve UNITPRICE kolonlarına göre bir gruplama yapacağı için bu kolonları seçti. aynı kolonlar ile sorguyu grupladı. Sonrada Having çalıştı ve grup içinde UNITPRICE değeri 5000 den büyük olanları listeledi.

Having kullanımı da bu şekildeydi.

Bir sonraki yazımda görüşmek üzere.


What's Your Reaction?

hate hate
0
hate
fail fail
0
fail
fun fun
0
fun
geeky geeky
0
geeky
love love
0
love
lol lol
0
lol
omg omg
0
omg
win win
0
win
Murat Bilginer
21 Şubat 1992 Doğumlu. Endüstri Mühendisi olarak Lisansını 2016 yılında tamamlamıştır. Industryolog Akademi - NGenius oluşumlarının kurucusudur. Şu anda kendi şirketi Brainy Tech ile hem Yazılım Hizmetleri Sunmakta Hem de Online Eğitimler Vermektedir.