Чем отличаются `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 без агрегации

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

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

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

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

Основы C#

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

Продвинутый Python

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

Продвинутый Golang

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