Bugün ki yazımızda GROUP BY ile HAVING komutunun birlikte kullanımını inceleyeceğiz. Aynı zamanda WHERE ile HAVING arasındaki farkı örnekler üzerinde görebileceğiz. Dilerseniz bu komutlar hakkında size bilgi vereyim.
GROUP BY : Seçmiş olduğumuz tabloda bulunan kayıtları en az bir sütuna göre gruplamanıza yarar. FROM veya WHERE komutundan hemen sonra kullanılır.
HAVING : GROUP BY komutundan hemen sonra kullanılır. Gruplanmış olan kayıtlardan, hangilerini isteyip hangilerini istemeyeceğimizi belirler.
WHERE İle HAVING Arasındaki Fark : WHERE komutu tablodaki verileri filtrelememize yarar. HAVING komutu ise tablodaki gruplanmış verileri filtrelememize yarar.
Aşağıdaki örneklerde konuyu daha iyi kavrayacağınızı düşünüyorum.
Öncelikle aşağıdaki Musteriler tablomuzu inceleyelim.
Örnek 1 : SELECT Sehir, MIN(Maas) Minimum, MAX(Maas) Maksimum FROM Musteriler WHERE Maas > 2000 GROUP BY Sehir;
Yazmış olduğumuz bu sorguda, maaşı 2000 den büyük olan verileri şehirlere göre gruplanmış halini listeliyoruz.
Örnek 2 : SELECT Sehir, MIN(Maas) Minimum, MAX(Maas) Maksimum FROM Musteriler GROUP BY Sehir;
Yukarıdaki sorgumuzda, Musteriler tablosunu şehirlere göre gruplayıp şehrin adını, minimum ve maksimum maaşı listeliyoruz.
SELECT Sehir, MIN(Maas) Minimum, MAX(Maas) Maksimum FROM Musteriler GROUP BY Sehir HAVING Minimum > 1000;
Bu sorgumuzun yukarıdaki sorgumuzdan farkı HAVING komutudur. Gruplamayı yaptıktan sonra minimum maaşı 1000 den büyük şehirleri ve ona bağlı minimum ve maksimum maaşları listeliyoruz.
Bu örnekte anlayacağınız gibi WHERE komutu GROUP BY dan önce işletilir. HAVING komutu ise GROUP BY komutu işletildikten sonra işlenir. HAVING komutu genellikle SUM, MIN, MAX, AVG ve COUNT fonksiyonları ile kullanılır.
Örnek 3 : SELECT Sehir, AVG(Maas) Avaraj FROM Musteriler WHERE Maas > 2000 GROUP BY Sehir HAVING COUNT(*) > 1;
Bu sorgumuzda, hem WHERE hem de HAVING komutunu kullanmış olduk. Maaşı 2000 den büyük olan müşterileri, şehirlere göre grupladıktan sonra şehir sayısı birden büyük olanları listeledik.
GROUP BY ile HAVING komutunun birlikte kullanılışı genellikle bu şekildedir ve çok sık kullanma ihtiyacı duyacaksınız. Başta çok karışık gibi görünebilir ama aslında bir o kadar basittir. Umarım verdiğim örnekler sizin için yeterli olmuştur.
Hiç yorum yok:
Yorum Gönder