Back to questions
Junior — Middle
59
Чем отличаются условия фильтрации данных с помощью операторов HAVING и WHERE в SQL?
Answer from AI
sobes.tech AI
Операторы WHERE и HAVING в SQL используются для фильтрации данных, но применяются на разных этапах обработки запроса:
WHEREфильтрует строки до группировки. Он ограничивает набор данных, который будет агрегироваться.HAVINGфильтрует группы после применения агрегатных функций и группировки.
Пример:
SELECT department, COUNT(*) as employee_count
FROM employees
WHERE salary > 50000 -- фильтрация отдельных сотрудников
GROUP BY department
HAVING COUNT(*) > 10 -- фильтрация групп по количеству сотрудников
Здесь WHERE исключает сотрудников с зарплатой 50000 и ниже, а HAVING оставляет только те отделы, где более 10 сотрудников после фильтрации.
Таким образом, WHERE работает с отдельными строками, а HAVING — с агрегированными группами.