Встречается на 5% собеседований по Data Engineer
В чем разница между HAVING и WHERE в SQL
HAVING и WHERE фильтруют данные, но работают на разных этапах запроса:
- WHERE фильтрует строки до группировки (GROUP BY).
- HAVING фильтрует после группировки, применяется к агрегированным данным (SUM, AVG и т.д.).
Пример:
sql
-- WHERE: фильтрация до группировки
SELECT department, AVG(salary)
FROM employees
WHERE salary > 50000
GROUP BY department;
-- HAVING: фильтрация после группировки
SELECT department, AVG(salary)
FROM employees
GROUP BY department
HAVING AVG(salary) > 70000;Ключевое отличие:
WHEREнельзя использовать с агрегатными функциями,HAVING— можно.WHEREработает быстрее, так как сокращает данные до группировки.
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы