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

UptoLike

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

85
Рис. 33. Использование ключевого слова ALL
Использование ключевых слов EXISTS и NOT EXISTS
Предикат EXISTS (NOT EXISTS) – квантор существования,
используется в логическом выражении для определения того, дол-
жен ли подчиненный запрос возвращать какиеибо записи.
В языке Transact SQL предикат с квантором существования
представляется выражением EXISTS (SELECT * FROM ...).
Ключевые слова EXISTS и NOT EXISTS предназначены для
использования только совместно с подзапросами. Результат их об-
работки представляет собой логическое значение TRUE или
FALSE.
Для ключевого слова EXISTS результат равен TRUE в том и
только в том случае, если в возвращаемой подзапросом результи-
рующей таблице присутствует хотя бы одна строка.
Если результирующая таблица подзапроса пуста, результатом
обработки операции EXISTS будет значение FALSE.
Для ключевого слова NOT EXISTS используются правила об-
работки, обратные по отношению к ключевому слову EXISTS.
Поскольку по ключевым словам EXISTS и NOT EXISTS про-
веряется лишь наличие строк в результирующей таблице подзапро-
са, то эта таблица может содержать произвольное количество
столбцов.
Пример 67. Вывести список студентов, которые сдавали экза-
мены.
SELECT Fio
FROM Students
WHERE EXISTS (SELECT ID_Student
FROM Progress
WHERE Students.ID_Student=Progress.ID_Student);
Результат выполнения запроса приведен на рис. 34.
           Рис. 33. Использование ключевого слова ALL


    Использование ключевых слов EXISTS и NOT EXISTS
     Предикат EXISTS (NOT EXISTS) – квантор существования,
используется в логическом выражении для определения того, дол-
жен ли подчиненный запрос возвращать какие-либо записи.
     В языке Transact SQL предикат с квантором существования
представляется выражением EXISTS (SELECT * FROM ...).
     Ключевые слова EXISTS и NOT EXISTS предназначены для
использования только совместно с подзапросами. Результат их об-
работки представляет собой логическое значение TRUE или
FALSE.
     Для ключевого слова EXISTS результат равен TRUE в том и
только в том случае, если в возвращаемой подзапросом результи-
рующей таблице присутствует хотя бы одна строка.
     Если результирующая таблица подзапроса пуста, результатом
обработки операции EXISTS будет значение FALSE.
     Для ключевого слова NOT EXISTS используются правила об-
работки, обратные по отношению к ключевому слову EXISTS.
     Поскольку по ключевым словам EXISTS и NOT EXISTS про-
веряется лишь наличие строк в результирующей таблице подзапро-
са, то эта таблица может содержать произвольное количество
столбцов.
     Пример 67. Вывести список студентов, которые сдавали экза-
мены.
     SELECT Fio
     FROM Students
     WHERE EXISTS (SELECT ID_Student
      FROM Progress
     WHERE Students.ID_Student=Progress.ID_Student);
     Результат выполнения запроса приведен на рис. 34.



                              85