КАТЕГОРИИ: Архитектура-(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) |
Пример 8.3.4)
Определить имена поставщиков по крайней мере одной детали красного цвета (см. В одном городе (см. пример 8.3.2) Найти все такие пары номеров поставщиков, в которых два поставщика находятся Определить номера поставщиков из Парижа со статусом больше 20 Типов (см. пример 8.3.6) Определить имена поставщиков, которые поставляют детали всех Р2 (пример 8.3.7) Определить имена поставщиков, которые не поставляют деталь с номером Определить номера поставщиков, имеющих статус меньше того, который в Красного цвета (см. пример 8.3.4) Определить имена поставщиков по крайней мере одной детали Определить имена поставщиков детали с номером Р2 (см. пример 7.5.1) Поставщиком Определить номера всех деталей, поставляемых больше чем одним Для каждой поставляемой детали указать номер детали и общий объем поставки в штуках (модифицированная версия примера 8.5.4) Номером Р2 Определить максимальное и минимальное количество деталей с Определить общее количество поставщиков Каждой паре находятся в одном городе (см. пример 8.3.2) Получить все пары номеров поставщиков, таких что оба поставщика в SELECT A.S# AS SA, B.S# AS SB FROM S AS A, S AS В WHERE A.CITY = B.CITY AND A.S# < B.S#; SELECT COUNT(*) AS N FROM S; SELECT МАХ (SP.QTY) AS MAXQ, MIN (SP.QTY) AS MINQ FROM SP WHERE SP.P# = P# ('P2'); SELECT SP.P#, SUM (SP.QTY) AS TOTQTY FROM SP GROUP BY SP.P#; SELECT SP.P# FROM SP GROUP BY SP.P# HAVING COUNT (SP.S#) > 1;
SELECT DISTINCT S.SNAME FROM S WHERE S.S# IN (SELECT SP.S# FROM SP... WHERE SP.P# = P# ('P2')); Следует отметить, что первоначальную задачу — "Получить имена поставщиков дета- ли с номером Р2" — можно столь же успешно выразить с помощью операции соединения, например, таким образом. SELECT DISTINCT S.SNAME FROM S, SP WHERE S.S# = SP.S# AND SP.P# = P# ('P2'); SELECT DISTINCT S.SNAME FROM S WHERE S.S# IN (SELECT SP.S# FROM SP WHERE SP.P# IN (SELECT P.P# FROM P WHERE P. COLOR = COLOR (' Red'))) данное время является максимальным в таблице S SELECT S.S# FROM S WHERE S.STATUS < (SELECT MAX ( S.STATUS) FROM S); SELECT DISTINCT S.SNAME FROM S WHERE NOT EXISTS (SELECT * FROM SP WHERE SP.S# = S.S# AND SP.P# = P# ('P2')); Этот же запрос можно также представить в альтернативной формулировке. SELECT DISTINCT S.SNAME FROM S WHERE S.S# NOT IN (SELECT SP.S# FROM SP WHERE SP.P# = P# (' P2 ')); SELECT DISTINCT S.SNAME FROM S WHERE NOT EXISTS ( SELECT * FROM P WHERE NOT EXISTS (SELECT * FROM SP WHERE SP.S# = S.S# AND SP.P# = P.P#)); (упрощенная версия примера 8.3.1) SX WHERE EXISTS STATUSX { STATUSX > 20 AND S { S# SX, STATUS STATUSX, CITY 'Paris' }) { SX AS SA, SY AS SB } WHERE EXISTS CITYZ (S { S# SX, CITY CITYZ } AND S { S# SY, CITY CITYZ } AND SX < SY) NAMEX WHERE EXISTS SX EXISTS PX (S { S# SX, SNAME NAMEX } AND SP { S# SX, P# PX } AND P { P# PX, COLOR COLOR('Red') } 1
Дата добавления: 2014-12-29; Просмотров: 567; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |