Результаты Ограничения Групп
Вы используете предложение HAVING
, чтобы ограничить группы таким же образом, как Вы используете предложение WHERE
, чтобы ограничить строки, которые Вы выбираете.

Чтобы найти максимальную зарплату в каждом из отделов, у которых максимальная зарплата больше чем 10 000$, Вы должны сделать следующее:
Найдите максимальную зарплату для каждого отдела, группируя по номеру отдела.
Ограничьте группы теми отделами, в которых максимальная зарплата больше чем 10 000$.
Результаты Ограничения Групп с Предложением HAVING
Когда Вы используете предложение HAVING
, сервер Oracle ограничивает группы следующим образом:
Строки группируются.
Групповая функция применяется.
Группы, соответствующие предложению
HAVING
, выводится на экран.

Вы используете предложение HAVING
, чтобы определить группы, которые должны быть выведены на экран, таким образом далее ограничивая группы на основе совокупной информации.
В этом синтаксисе, group_condition
ограничивает группы строк теми группами, для которых указанное условие является истиной.
Сервер Oracle выполняет следующие шаги, когда Вы используете предложение HAVING
:
Строки группируются.
Групповая функция применяется к группе.
Группы, которые соответствуют критерию в предложении
HAVING
, выводится на экран.
Предложение HAVING
может предшествовать предложению GROUP BY
, но рекомендуется, чтобы Вы помещали предложение GROUP BY
сначала, потому что это более логично. Группы формируются и групповые функции вычисляются перед тем, как предложение HAVING
применяется к группам в списке SELECT
.
Отметьте: предложение WHERE
ограничивает строки, тогда как предложение HAVING
ограничивает группы.