Основы языка TRANSACT SQL. Казакова И.А. - 83 стр.

UptoLike

Составители: 

82
Предикат NOT IN используется для отбора в главном запросе
только тех записей, которые содержат значения, не совпадающие ни
с одним из отобранных подчиненным запросом.
Введение в запрос фразы «только» требует использования
операции NOT IN.
Пример 64. Вывести фамилии студентов, которые получили
на экзаменах оценки менее 4:
SELECT FIO FROM Students
WHERE ID_Student NOT IN
(SELECT ID_Student FROM Progress
WHERE Examen >= 4);
Результат выполнения запроса приведен на рис. 31.
Рис. 31. Использование предиката NOT IN
Использование ключевого слова ANY
Ключевые слова ALL и ANY модифицируют операцию срав-
нения, которая формирует подзапрос. Ключевые слова ANY и ALL
могут использоваться с подзапросами, возвращающими один стол-
бец чисел.
ANY (SOME) – оператор, эквивалентный понятию «любой».
Выражение = ANY(…) означает: равно одному из значений
элементов результирующего множества; эквивалентно использова-
нию предиката IN. Соответствует логическому оператору OR.
Выражение <> ANY(…) не эквивалентно NOT IN: оно выпол-
няется всегда, кроме случаев NULLначений.
Выражение > ANY означает: больше, чем любое полученное
число; эквивалентно операции > для самого меньшего полученного
     Предикат NOT IN используется для отбора в главном запросе
только тех записей, которые содержат значения, не совпадающие ни
с одним из отобранных подчиненным запросом.
     Введение в запрос фразы «только» требует использования
операции NOT IN.
     Пример 64. Вывести фамилии студентов, которые получили
на экзаменах оценки менее 4:
     SELECT FIO FROM Students
     WHERE ID_Student NOT IN
     (SELECT ID_Student FROM Progress
     WHERE Examen >= 4);
     Результат выполнения запроса приведен на рис. 31.




             Рис. 31. Использование предиката NOT IN


            Использование ключевого слова ANY
     Ключевые слова ALL и ANY модифицируют операцию срав-
нения, которая формирует подзапрос. Ключевые слова ANY и ALL
могут использоваться с подзапросами, возвращающими один стол-
бец чисел.
     ANY (SOME) – оператор, эквивалентный понятию «любой».
     Выражение = ANY(…) означает: равно одному из значений
элементов результирующего множества; эквивалентно использова-
нию предиката IN. Соответствует логическому оператору OR.
     Выражение <> ANY(…) не эквивалентно NOT IN: оно выпол-
няется всегда, кроме случаев NULL-значений.
     Выражение > ANY означает: больше, чем любое полученное
число; эквивалентно операции > для самого меньшего полученного

                               82