КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Экзаменационный билет № 21
ЭКЗАМЕНАЦИОННЫЙ БИЛЕТ № 20 ЭКЗАМЕНАЦИОННЫЙ БИЛЕТ № 19 ЭКЗАМЕНАЦИОННЫЙ БИЛЕТ № 18
2. Коррелированные подзапросы. Коррелированный подзапрос с использованием в коррелированном и внешнем запросе одной и той же таблицы. Коррелированный подзапрос с использованием в коррелированном и внешнем запросе одной и той же таблицы. Выдать номера деталей, поставляемых более чем одним поставщиком. Select distinct spx.номер_детали from SP spx where spx.номер_детали in (Select spy.номер_детали from SP spy where spy.номер_поставщика<>spx.номер_поставщика)
Подзапросы. Фраза EXISTS. Квантор существования EXISTS. Фраза EXISTS. 4.1. Квантор существования EXISTS. В языке SQL предикат с квантором существования представляется выражением вида: EXISTS (select * from...) Данное выражение истинно тогда и только тогда, когда результат вычисления подзапроса, представленного с помощью select * from является непустым множеством, т.е. когда существует какая-либо запись в таблице, указанной во фразе from подзапроса, который удовлетворяет условию where этого подзапроса. Выдать фамилии поставщиков, поставляющих деталь P2. Select фамилия from S where exists (Select * from SP where номер_поставщика = S.номер_поставщика and номер_детали = 'P2') Последовательность обработки запроса:
Подзапросы. Фраза EXISTS. Запрос, реализующий квантор общности. Запрос, реализующий квантор общности. Квантор общности FORALL в SQL не поддерживается, однако он может быть выражен через квантор существования при помощи тождества FORALL x(p)=NOT(EXISTS x(NOT(p))). Выдать фамилии поставщиков, которые поставляют все детали. Эквивалентная формулировка задачи может звучать так: Выдать фамилии поставщиков таких, что для всех деталей существует запись в таблице SP, указывающая, что данный поставщик поставляет эту деталь. Последнее утверждение, в свою очередь, эквивалентно следующему: выдать фамилии поставщиков таких, что не существует детали такой, что не существует записи в таблице SP, указывающей, что данный поставщик поставляют эту деталь. Select фамилия from S where not exists (Select * from P where not exists (Select * from SP where номер_поставщика=S.номер_поставщика and номер_детали=P.номер_детали))
Использование функций в подзапросе. Использование функций в подзапросе. Выдать номера поставщиков со значением поля рейтинг меньшим, чем максимальный рейтинг в таблице S. Select номер_поставщика from S where рейтинг < (Select max(рейтинг) from S) Выдать номер_поставщика, рейтинг и город всех поставщиков, у которых рейтинг больше либо равен среднему для их конкретного города (использование функций в коррелированном подзапросе). Select номер_поставщика, рейтинг, город from S sx where рейтинг >= (Select avg(рейтинг) from S sy where sy.город=sx.город)
Дата добавления: 2015-05-10; Просмотров: 362; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |