Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
БД-Лабораторные работы / БД-Практическая работа№11.doc
Скачиваний:
82
Добавлен:
04.06.2015
Размер:
72.7 Кб
Скачать

Подзапросы с кванторами any и all

Ключевые слова all и any модифицируют операцию сравнения, которая формирует подзапрос.

 

·>all означает больше чем любое значение или, что равносильно, больше максимальной величины. Например, >all (1,2,3) означает больше чем 3.

>any означает больше, по крайней мере, одного значения или, что равносильно, больше минимальной величины. Поэтому, >any (1,2,3) означает меньше 1.

Квантор =all означает равенство каждому возвращаемому значению. Текущая строка будет удовлетворять условию, указанному во внешнем запросе, если значение в сравниваемом столбце будет равно каждому значению, которое возвращается подзапросом.

Квантор =any означает проверку существования, поэтому он эквивалентен условию in (в). Например, чтобы найти всех авторов, которые живут в одном городе с некоторым издателем, можно использовать как =any, так и in:

Однако, квантор !=any будет не равносилен условию not in (не в). Квантор !=any означает “не а или не в или не с”, в то время как условие not in означает “не а и не в и не с”.

Задание 11. Стоимость, каких книг, больше чем максимальная стоимость, книг издательства 1. Сохранить как П11.

 

SELЕCT *

FROM Книги

WHЕRE [Стоимость книги]>ALL

(SELЕCT [Стоимость книги]

FROM Книги

WHЕRE Книги![Код издательства] = 1);

Задание 12. Найти книги, которые стоят больше чем самая книга с минимальной стоимостью в группе «Информатика». Сохранить как П12.

SELЕCT *

FROM Книги

WHЕRE [Стоимость книги]>ANY

(SELЕCT [Стоимость книги]

FROM Книги

WHЕRE [Предметная область] =”Информатика”);

Задания для самостоятельной работы

  1. Выдать названия всех книг, цена которых выше общей средней цены.

  2. Выдать названия книг, срок службы которых выше среднего.

  3. Выдать названия издательств, книги которых хранятся в архиве.