Sobes.tech
Junior — Middle

SQL sorguları ile çalışırken WHERE ve HAVING 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 sorgu işleminin farklı aşamalarında uygulanır:

  • WHERE, satırları gruplama ve toplama işleminden önce filtreler. Sorguda kullanılacak veri kümesini sınırlar.
  • HAVING, toplama fonksiyonları (örneğin, SUM, COUNT, AVG) uygulandıktan sonra grupları filtreler. Toplama sonuçlarını sınırlandırmak için kullanılır.

Örnek:

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

Burada, WHERE maaşı 50000'den yüksek olan çalışanları seçer, HAVING ise bu kriteri sağlayan departmanları filtreler.