В запросе использовали WHERE, а есть ещё оператор HAVING — в чём разница между ними?

Предложение HAVING используется в SQL для фильтрации результатов групп, созданных предложением GROUP BY.

Короткий ответ

Что ответить на собеседовании

Предложение 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;

Практика в реальном времени

Подготовьтесь к следующему собеседованию

Interview Boost учитывает вакансию, резюме и технологии и помогает сформулировать ответ прямо во время интервью.

Начать подготовку