Предложение HAVING используется в SQL для фильтрации результатов групп, созданных предложением GROUP BY.
В запросе использовали WHERE, а есть ещё оператор HAVING — в чём разница между ними?
Предложение HAVING используется в SQL для фильтрации результатов групп, созданных предложением GROUP BY.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Предложение HAVING используется в SQL для фильтрации результатов групп, созданных предложением GROUP BY.
Отличия от WHERE:
- WHERE фильтрует отдельные строки до группировки.
- HAVING фильтрует группы после их создания и применения агрегатных функций.
Сигнатура:
SELECT column1, column2, ...
FROM table_name
WHERE condition
GROUP BY column1, column2, ...
HAVING group_condition
ORDER BY column1, column2, ...;
Пример: Выбрать отделы, где средняя зарплата превышает 50000.
SELECT department, AVG(salary) AS avg_salary
FROM employees
GROUP BY department
HAVING AVG(salary) > 50000;