ВУЗ:
Составители:
Рубрика:
86
Рис. 34. Использование ключевого слова EXISTS
Пример 68. Вывести список студентов, которые не сдавали
экзамены.
SELECT FIO
FROM Students
WHERE NOT EXISTS (SELECT ID_Student
FROM Progress
WHERE Students.ID_Student=Progress.ID_Student);
EXISTS представляет собой одну из наиболее важных воз-
можностей Transact SQL. Фактически любой запрос, который выра-
жается через IN, может быть альтернативным образом сформулиро-
ван также с помощью EXISTS. Однако обратное высказывание не-
справедливо.
Ключевое слово EXISTS является очень важным, поскольку
часто не существует альтернативного способа выбора данных без
использования подзапроса. Подзапросы, которым предшествует
квантор EXISTS, всегда являются коррелированными.
Подзапрос, которому предшествует квантор существования
EXISTS, имеет по сравнению с другими подзапросами следующие
особенности:
перед ключевым словом EXISTS не должно быть названий
столбцов, констант или других выражений;
подзапрос с квантором существования возвращает значения
TRUE или FALSE и не возвращает никаких данных из таблицы;
список выбора такого подзапроса часто состоит из одной
звездочки (*). Здесь нет необходимости указывать названия столб-
Рис. 34. Использование ключевого слова EXISTS
Пример 68. Вывести список студентов, которые не сдавали
экзамены.
SELECT FIO
FROM Students
WHERE NOT EXISTS (SELECT ID_Student
FROM Progress
WHERE Students.ID_Student=Progress.ID_Student);
EXISTS представляет собой одну из наиболее важных воз-
можностей Transact SQL. Фактически любой запрос, который выра-
жается через IN, может быть альтернативным образом сформулиро-
ван также с помощью EXISTS. Однако обратное высказывание не-
справедливо.
Ключевое слово EXISTS является очень важным, поскольку
часто не существует альтернативного способа выбора данных без
использования подзапроса. Подзапросы, которым предшествует
квантор EXISTS, всегда являются коррелированными.
Подзапрос, которому предшествует квантор существования
EXISTS, имеет по сравнению с другими подзапросами следующие
особенности:
перед ключевым словом EXISTS не должно быть названий
столбцов, констант или других выражений;
подзапрос с квантором существования возвращает значения
TRUE или FALSE и не возвращает никаких данных из таблицы;
список выбора такого подзапроса часто состоит из одной
звездочки (*). Здесь нет необходимости указывать названия столб-
86
Страницы
- « первая
- ‹ предыдущая
- …
- 85
- 86
- 87
- 88
- 89
- …
- следующая ›
- последняя »
