Sobes.tech
Junior — Middle

SQL sorguları ile çalışırken HAVING ve WHERE koşulları arasındaki fark nedir?

sobes.tech yapay zeka

AI'dan gelen yanıt

SQL'de WHERE ve HAVING arasındaki temel fark:

  • WHERE, satırları gruplamadan önce (GROUP BY) filtreler. Tabloya ait bireysel kayıtlara uygulanır.
  • HAVING, gruplamadan sonra grupları filtreler. Toplam fonksiyonları (örneğin, COUNT, SUM) üzerindeki koşullar için kullanılır.

Örnek:

SELECT departman, COUNT(*) as çalışan_sayısı
FROM çalışanlar
WHERE maaş > 50000    -- maaşı 50000'den yüksek olan çalışanları filtrele
GROUP BY departman
HAVING COUNT(*) > 10     -- 10'dan fazla çalışanı olan departmanları seç

Burada WHERE, gruplama için satırları seçer, HAVING ise zaten gruplanmış verileri filtreler.