Равно любому из значений, полученных во внутреннем запросе.
NOT IN
Неравно ни одному из значений, полученных во внутреннем запросе.
=ANY
То же, ч то и IN. Соответствует логическому оператору OR
>ANY, > = ANY
Больше, чем (либо больше или равно ) любое полученное число. Эквивалентно > или > = для самого меньшего полученного числа.
< ANY, < = ANY
Меньше, чем (либо меньше или равно ) любое полученное число. Эквивалент < или < = для самого большего полученного числа.
= ALL
Равно всем полученным значениям. Эквивалентно логическому оператору AND.
> ALL, > = ALL
Больше, чем (либо больше или равно ) все полученные числа. Эквивалент > или > = для самого большего полученного числа
< ALL, < = ALL
Меньше, чем (либо меньше или равно ) все полученные числа. Эквивалентно < или < = самого меньшего полученного числа.
Следует иметь в вид у, что в некоторых СУБД поддерживаются не все из этих операторов.
Примеры.
Выбрать сведения о студентах, проживающих в городе, где расположен университет, в котором они учатся.
SELECT*
FROMSTUDENT S
WHERECITY = ANY
(SELECTCITY
FROMUNIVERSITY U
WHEREU.UNIV_ID = S.UNIV_ID);
или
SELECT*
FROMSTUDENT S
WHERECITY IN
(SELECTCITY
FROMUNIVERSITY U
WHEREU.UNIV_ID = S.UNIV_ID);
Выборка данных об идентификаторах студентов, у которых оценки превосходят величину, по крайней мере, одной из оценок, полученных ими же 6 октября 1999 года.
SELECT DISTINCTSTUDENT_ID
FROMEXAM_MARKS
WHEREMARK > ANY
(SELECTMARK
FROMEXAM_MARKS
WHEREEXAM_DATE = ‘06/10/1999’);
Оператор ALL, как правило, эффективно используется с неравенствами, а не с равенствами, поскольку значение равно всем, которое должно получиться в этом случае в результате выполнения подзапроса, может иметь место, только если все результаты идентичны. Такая ситуация практически не может быть реализована, так как, если подзапрос генерирует множество различных значений, то никакое одно значение не может быть равно сразу всем значениям в обычном смысле. В SQL выражение < > ALLреально означает неравно ни одному из результатов подзапроса.
Примет. Подзапрос, выбирающий данные о названиях всех университетов с рейтингом более высоким, чем рейтинг любого университета в Воронеже:
SELECT*
FROMUNIVERSITY
WHERERATING > ALL
(SELECTRATING
FROMUNIVERSITY
WHERECITY = ‘Воронеж ’);
В этом запросе вместо ALLможно также использовать ANY.