Квантор exists

5.8. Повторите упражнение 5.3 и используйте в Вашем решении EXISTS.

5.9. Повторите упражнение 5.4 и используйте в Вашем решении EXISTS.

5.10. Выдать номера изделий, для которых не поставляет какой-либо красной детали поставщик из Лондона.

5.11. Выдать номера изделий, для которых детали полностью поставляет поставщик S1.

5.12. Выдать номера деталей, поставляемых для всех изделий в Лондон.

5.13. Выдать номера поставщиков, поставляющих одну и ту же деталь для всех изделий.

5.14. Выдать номера изделий, для которых поставляются по крайней мере все детали, имеющиеся у поставщика S1.

Для следующих четырех упражнений (5.15—5.18) преобразуйте приведенное предложение SELECT языка SQL обратно в его эквивалент на естественном языке.

5.15. SELECT DISTINCT НОМЕР_ИЗДЕЛИЯ

FROM SPJ SPJX

WHERE NOT EXISTS

(SELECT *

FROM SPJ SPJY

WHERE SPJY.НОМЕР_ИЗДЕЛИЯ=SPJX. НОМЕР_

ИЗДЕЛИЯ

AND NOT EXISTS

(SELECT *

FROM SPJ SPJZ

WHERE SPJZ. НОМЕР_ДЕТАЛИ = SPJY.

НОМЕР—ДЕТАЛИ

AND SPJZ.НОМЕР_ПОСТАВЩИКА='

S1'));

5.16. DISTINCT НОМЕР_ИЗДЕЛИЯ

FROM SPJ SPJX

WHERE NOT EXISTS

(SELECT *

FROM SPJ SPJY

WHERE EXISTS

(SELECT *

FROM SPJ SPJX

WHERE SPJ А. НОМЕР_ПОСТАВЩИКА = 'S1'

AND SPJ А. НОМЕР_ДЕТАЛИ = SPJY.

НОМЕР_ДЕТАЛИ)

AND NOT EXISTS

(SELECT *

FROM SPJ SPJB

WHERE SPJB. НОМЕР_ПОСТАВЩИКА='S1'

AND SPJB. НОМЕР_ДETAЛИ=SPJY.НОМЕР_ДЕТАЛИ

AND SPJB.НОМЕР_ИЗДEЛИЯ=

SPJX..НОМЕР_ИЗДЕЛИЯ));

5.17. SELECT DISTINCT НОМЕР_ИЗДЕЛИЯ

FROM SPJ SPJX

WHERE NOT EXISTS

(SELECT *

FROM SPJ SPJY

WHERE EXISTS

(SELECT *

FROM SPJ SPJA

WHERE SPJA. НОМЕР_ДЕТАЛИ =SPJY.

НОМЕР_ДЕТАЛИ

AND SPJA. НОМЕР_ИЗДЕЛИЯ = SPJX.

НОМЕР_ИЗДЕЛИЯ)

AND NOT EXISTS

(SELECT *

FROM SPJ SPJB

WHERE SPJB. НОМЕР_ПОСТАВЩИКА= 'S1'

AND SPJB. НОМЕР_ДЕТАЛИ = SPJY.

НОМЕР_ДЕТАЛИ

AND SPJB.НОМЕР_ИЗДЕЛИЯ=SPJX.

НОМЕР_ИЗДЕЛИЯ));

5.18. SELECT DISTINCT НОМЕР_ИЗДЕЛИЯ

FROM SPJ SPJX

WHERE NOT EXISTS

(SELECT *

FROM SPJ SPJY

WHERE EXISTS

(SELECT *

FROM SPJ SPJA

WHERE SPJA. НОМЕР_ПОСТАВЩИКА =

SPJY. НОМЕР_ПОСТАВЩИКА

AND SPJA. НОМЕР_ДЕТАЛИ IN

(SELECT НОМЕР_ДЕТАЛИ

FROM P

WHERE ЦВЕТ = 'Красный')

AND NOT EXISTS

(SELECT *

FROM SPJ SPJB

WHERE SPJB. НОМЕР_ПОСТАВЩИКА =

SPJY. НОМЕР_ПОСТАВЩИКА

AND SPJB. НОМЕР_ИЗДЕЛИЯ =

SPJX. НОМЕР_ИЗДЕЛИЯ)));


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: