Junior — Middle
SQL sorguları oluştururken HAVING ve WHERE koşulları arasındaki fark nedir?
sobes.tech yapay zeka
AI'dan gelen yanıt
SQL'de WHERE ve HAVING koşulları verileri filtrelemek için kullanılır, ancak bunlar sorgu işleme sürecinin farklı aşamalarında uygulanır:
- WHERE satırları gruplamadan önce filtreler. Toplanacak veri kümesini sınırlamak için kullanılır.
- HAVING gruplama sonrası, toplama fonksiyonları (örneğin, SUM, COUNT) uygulandıktan sonra grupları filtreler.
Örnek:
SELECT departman, COUNT(*) as çalışan_sayısı
FROM çalışanlar
WHERE maaş > 50000 -- gruplamadan önce maaşa göre filtreleme
GROUP BY departman
HAVING COUNT(*) > 10; -- 10'dan fazla çalışana sahip grupları filtreleme
Burada önce maaşı 50000'den yüksek olan çalışanlar seçilir (WHERE), sonra veriler departmanlara göre gruplanır ve sadece 10'dan fazla çalışanı olan departmanlar HAVING filtresinden geçer.