Иллюстрированный самоучитель по Visual FoxPro 7

Подзапросы. Фраза 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
.

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.