Объясните разницу между WHERE и HAVING

WHERE и HAVING — это условия фильтрации в SQL, но применяются на разных этапах обработки данных.

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

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

WHERE и HAVING — это условия фильтрации в SQL, но применяются на разных этапах обработки данных.

Подробный разбор

Ответ с пояснениями

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 — с агрегированными группами.

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

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

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

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