Sobes.tech
Junior — Middle

SQL'de HAVING ve WHERE operatörleri arasındaki fark nedir ve hangi durumlarda kullanılmalıdır?

sobes.tech yapay zeka

AI'dan gelen yanıt

WHERE operatörü, verileri gruplamadan önce satırları filtrelemek için kullanılır. Bu, sonraki işlemlerde, örneğin toplama fonksiyonlarında kullanılacak satırları seçer.

HAVING operatörü, zaten gruplanmış verileri filtrelemek için kullanılır, yani GROUP BY işlemi sonrası. Toplama koşullarına göre grupları filtrelemeye olanak tanır.

Örnek:

SELECT department, COUNT(*) AS employee_count
FROM employees
WHERE salary > 50000  -- maaşa göre satır filtresi
GROUP BY department
HAVING COUNT(*) > 5      -- çalışan sayısına göre grup filtresi

Özetle:

  • WHERE, gruplamadan önce bireysel kayıtları filtreler.
  • HAVING, gruplamadan sonra grupları filtreler.

Koşullar için WHERE kullanın, toplama fonksiyonları için HAVING kullanın.