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.