Чем отличаются `WHERE` и `HAVING`?

JuniorPostgreSQL · Backend·Обновлено 16 июня 2026
Коротко
WHERE фильтрует строки до группировки, HAVING фильтрует группы после aggregation.

WHERE фильтрует строки до группировки, HAVING фильтрует группы после aggregation.

Сильный ответ должен раскрыть: filtering order; aggregation; GROUP BY; practical example.

Важно не допустить типичные ошибки: использовать HAVING без агрегации; путать порядок выполнения; дублировать условия.

Что хочет услышать интервьюер

filtering order

aggregation

GROUP BY

practical example

Пример: PostgreSQL example

SELECT user_id, count(*) FROM orders GROUP BY user_id HAVING count(*) > 1;

Типичные ошибки

использовать HAVING без агрегации

путать порядок выполнения

дублировать условия

Лучшие курсы по теме

изображение курса

Docker и Ansible

Антон Ларичев
AI-тренажерыAI-тренажеры
Гарантия
Бонусы
иконка звёздочки рейтинга4.7
3 999 ₽ 6 990 ₽
Подробнее
изображение курса

Node.js с нуля

Антон Ларичев
AI-тренажерыAI-тренажеры
Практика в студииПрактика в студии
Гарантия
Бонусы
иконка звёздочки рейтинга4.8
3 999 ₽ 6 990 ₽
Подробнее
изображение курса

Nest.js с нуля

Антон Ларичев
AI-тренажерыAI-тренажеры
Практика в студииПрактика в студии
Гарантия
Бонусы
иконка звёздочки рейтинга4.6
3 999 ₽ 6 990 ₽
Подробнее