Junior — Middle
Kuo skiriasi HAVING ir WHERE operatoriai SQL ir kada juos naudoti?
sobes.tech AI
Atsakymas iš AI
Оператор WHERE используется для фильтрации строк до группировки данных. Он отбирает строки, которые будут участвовать в дальнейших операциях, например, в агрегатных функциях.
Оператор HAVING применяется для фильтрации уже сгруппированных данных, то есть после выполнения GROUP BY. Он позволяет отфильтровать группы по агрегатным условиям.
Пример:
SELECT department, COUNT(*) AS employee_count
FROM employees
WHERE salary > 50000 -- фильтрация строк по зарплате
GROUP BY department
HAVING COUNT(*) > 5 -- фильтрация групп по количеству сотрудников
Итого:
- WHERE фильтрует отдельные записи до группировки.
- HAVING фильтрует группы после группировки.
Используйте WHERE для условий на отдельные поля, HAVING — для условий на агрегатные функции.