Junior
59
questionbank

В чем разница между оператором WHERE и оператором HAVING в SQL?

Получайте ответы на вопросы в реальном времени с Sobes Copilot
Ответ от нейросети sobes.tech

Оператор WHERE используется для фильтрации строк перед их группировкой. Оператор HAVING используется для фильтрации групп после того, как они были созданы оператором GROUP BY.

Основные различия:

ПризнакWHEREHAVING
НазначениеФильтрация строк до группировкиФильтрация групп после группировки
ПрименениеПрименяется к отдельным строкамПрименяется к агрегированным данным групп
ИсполнениеВыполняется до GROUP BYВыполняется после GROUP BY
СтолбцыИспользует столбцы таблицыИспользует столбцы таблицы и агрегатные функции

Пример с WHERE:

sql

Пример с HAVING:

sql

Пример с обоими операторами:

sql