Встречается на 2% собеседований по Python

Что такое HAVING в SQL

HAVING — это условие фильтрации для агрегированных данных, аналогичное WHERE, но применяемое после группировки (GROUP BY). В отличие от WHERE, которое фильтрует строки до агрегирования, HAVING работает с результатами агрегатных функций (SUM, AVG, COUNT и т.д.).

Пример:

sql
SELECT department, AVG(salary) as avg_salary
FROM employees
GROUP BY department
HAVING AVG(salary) > 50000;

Здесь HAVING отфильтровывает отделы, где средняя зарплата меньше 50 000.

Ключевые отличия:

  • WHERE фильтрует до группировки, HAVING — после.
  • HAVING может использовать агрегатные функции, WHERE — нет.
  • HAVING всегда идет после GROUP BY.

Важно: Если HAVING используется без GROUP BY, он применяется ко всему набору строк как одна группа.

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы