Назад к вопросам
Middle
28
Объясните разницу между WHERE и HAVING
Компании, где спрашивали
flank bank
Ответ от нейросети
sobes.tech AI
WHERE и HAVING — это условия фильтрации в SQL, но применяются на разных этапах обработки данных.
- WHERE фильтрует строки до группировки. Он ограничивает набор данных, которые попадут в агрегатные функции.
- HAVING фильтрует группы после применения агрегатных функций (например, SUM, COUNT).
Пример:
SELECT department, COUNT(*) as emp_count
FROM employees
WHERE salary > 50000 -- фильтруем сотрудников с зарплатой выше 50000
GROUP BY department
HAVING COUNT(*) > 10; -- выбираем отделы с более чем 10 сотрудниками
Таким образом, WHERE работает с отдельными строками, а HAVING — с агрегированными группами.