Подзапросы. Фраза HAVING.
При определении условия выборки можно применять вложенные запросы, которые называются подзапросами. Например, определим список наиболее дорогих товаров, цены которых ниже максимальной цены не более, чем на 10%.
SELECT icdGoods FROM Goods; WHERE nUnitPrice >; (SELECT 0.9 * MAX (nUnitPrice); FROM Goods)
Фраза HAVING
Для применения условий к группам, созданным фразой GROUP BY, используется фраза HAVING, которая играет такую же роль для групп, что и фраза WHERE для записей.
Замечание
Разница между фразами WHERE и HAVING состоит в том, что WHERE применяется к строкам, в то время как HAVING применяется к группам.
Запрос может содержать и фразу WHERE, и фразу HAVING. В этом случае первой выполняется фраза WHERE, поскольку она выполняется до разбиения на группы.
Рассмотрим пример выборки городов, в которых имеется более десяти покупателей:
SELECT cCountry; FROM Customer; GROUP BY cCountry; HAVING COUNT(*) >10
Предупреждение
Вы не можете использовать фразу HAVING отдельно от фразы GROUP BY.