Встречается на собеседованиях • сегодня
В чем разница между HAVING и WHERE в SQL
HAVING и WHERE оба фильтруют данные в SQL, но работают на разных этапах запроса:
- WHERE фильтрует строки до группировки (GROUP BY). Применяется к отдельным записям.
sql
SELECT department, COUNT(*)
FROM employees
WHERE salary > 5000
GROUP BY department;- HAVING фильтрует после группировки. Работает с агрегированными данными (COUNT, SUM, AVG и т.д.).
sql
SELECT department, COUNT(*)
FROM employees
GROUP BY department
HAVING COUNT(*) > 10;Ключевые отличия:
- WHERE не может использовать агрегатные функции
- HAVING требует GROUP BY (кроме редких случаев)
- WHERE выполняется раньше, поэтому обычно эффективнее
Оптимально сначала фильтровать через WHERE, затем через HAVING.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы