Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лаб_раб_09.doc
Скачиваний:
1
Добавлен:
01.04.2025
Размер:
75 Кб
Скачать
☆

Дополнительные возможности использования подзапросов, возвращающих единичное значение. Использование предложения exists.

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

EXISTS (<подзапрос>)

Ключевые слова EXISTS и NOT EXISTS предназначены для использования только совместно с подзапросами. Результат их обработки равен TRUE или FALSE. Для ключевого слова EXISTS результат равен TRUE только тогда, когда в возвращаемой подзапросом результирующей таблице присутствует хотя бы одна строка. Если результирующая таблица подзапроса пуста, результатом обработки будет FALSE. Для NOT EXISTS правила обратные.

ПРИМЕР

Выбрать коды и названия книги студенческого фонда библиотеки, которые когда-либо выдавались на руки читателям.

SELECT Code, Name

FROM Books

WHERE Code IN (SELECT BookCode

FROM BookInventaryNumbers

WHERE FundCode = 1 AND

EXISTS (SELECT Code

FROM BookGiveOutRecord

WHERE InventaryCode = BookInventaryNumbers.Code))

Результат выполнения запроса приведен в таблице 10.3.

Таблица 10.3.

Code

Name

6

Автоматизированные системы управления технологическим процессом обогащения руды

Использование предложения singular.

Если в условии поиска нужно указать, что из таблицы требуется выбрать лишь те записи, для которых подзапрос возвращает только одно значение, указывается предложение

SINGULAR (<onepaтop_seIect >)

ПРИМЕР

Выбрать коды и названия книги студенческого фонда библиотеки, которые выдавались на руки читателям только один раз.

SELECT Code, Name

FROM Books

WHERE Code IN (SELECT BookCode

FROM BookInventaryNumbers

WHERE FundCode = 1 AND

SINGULAR (SELECT Code

FROM BookGiveOutRecord

WHERE InventaryCode = BookInventaryNumbers.Code))

Результат выполнения запроса приведен в таблице 10.4.

Таблица 10.4.

Code

Name

6

Автоматизированные системы управления технологическим процессом обогащения руды

Результаты совпадают с примером для слова EXISTS только потому, что заданному условию в таблице BookGiveOutRecord Соответствует только одна запись.

Отчет должен содержать:

  1. Номер, наименование и цель лабораторной работы.

  2. Результаты проверки правильности работы операторов SELECT, описанных в примерах методических указаний.

  3. Запросы и результаты их выполнения согласно пункту 4 хода работы.

  4. Для тех, кто ведет проект базы данных согласно индивидуальному заданию, в отчет должны войти формулировки выборки данных, операторы SELECT и результаты работы операторов SELECT согласно пункту 5 хода работы.

  5. Те, кто выполняет предыдущий пункт, должны включить в отчет полное содержимое тех таблиц, из которых выбирается информация согласно индивидуальному задания.

5

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]