Оформить и купить диплом на бланке ГОЗНАК без предоплаты

SQL специальные операторы ALL, ANY и SOME

В языке SQL есть три специальных оператора, ориентированных на подзапросы, выводящие более одного значения.

Операторы ALL (все),  ANY (любой) и  SOME (некоторый) аналогичны EXISTS и также воспринимают подзапрос как аргумент. Они оценивают все результаты подзапроса вместе взятые.

В случае использования оператора ALL предикат является истинным, если каждое из значений, выбранных подзапросом, удовлетворяет условию в предикате запроса.

Например, выведем данные на тех детей, фамилии которых предшествуют по алфавиту фамилиям детей с 1995 годом рождения:

 SELECT * FROM РЕБЕНОК

WHERE ФИО_Р  < ALL (SELECT ФИО_Р FROM РЕБЕНОК

WHERE  Год_рождения = 1995 );

 В языке SQL выражение  “X < > ALL( )” соответствует “ не равен любому “ результату подзапроса, т. е. предикат истинен, если значение X отсутствует среди результатов подзапроса.

Операторы SOME и ANY  полностью взаимозаменяемы; можно использовать тот, который больше нравится. Оператор SOME (ANY) истинен, если какое-нибудь из выведенных подзапросом значений удовлетворяет заданному предикату.

Значительное различие между ALL и SOME (ANY) – действие в cитуации, когда подзапрос не возвращает никаких значений: если множество результатов подзапроса пусто, ALL истинен, а SOME (ANY) ложен.