Назад к вопросам
Avito
Positive Technologies
Junior — Middle
91
Какое отличие между условиями WHERE и HAVING при работе с SQL-запросами?
Компании, где спрашивали
Ответ от нейросети
sobes.tech AI
В SQL условия WHERE и HAVING используются для фильтрации данных, но применяются на разных этапах обработки запроса:
WHEREфильтрует строки до группировки и агрегирования. Он ограничивает набор данных, который будет использоваться в запросе.HAVINGфильтрует группы после применения агрегатных функций (например,SUM,COUNT,AVG). Используется для ограничения результатов агрегирования.
Пример:
SELECT department, COUNT(*) as employee_count
FROM employees
WHERE salary > 50000 -- фильтруем сотрудников с зарплатой > 50000
GROUP BY department
HAVING COUNT(*) > 10; -- выбираем отделы с более чем 10 сотрудниками
Здесь WHERE отбирает сотрудников с зарплатой выше 50000, а HAVING — отделы, где таких сотрудников больше 10.