Встречается на 5% собеседований по Data Engineer
В чем разница между командами WHERE и HAVING в SQL
WHERE фильтрует строки перед группировкой, а HAVING — после. WHERE работает с отдельными записями, HAVING — с агрегированными результатами (GROUP BY).
Пример:
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) > 50000;
text
Ключевые отличия:
1. Порядок выполнения: WHERE → GROUP BY → HAVING
2. HAVING может использовать агрегатные функции (COUNT, SUM, AVG)
3. WHERE обычно эффективнее, так как фильтрация происходит раньшеСледующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы