ÇÀÏÐÎÑ, ÈÑÏÎËÜÇÓÞÙÈÉ NOT EXISTS
Âûäàòü ôàìèëèè ïîñòàâùèêîâ, êîòîðûå íå ïîñòàâëÿþò äåòàëü Ð2 (îáðàòíàÿ çàäà÷à ïî îòíîøåíèþ ê ïðèìåðó 5.3.1).
SELECT ÔÀÌÈËÈß
FROM S
WHERE NOT EXIST
(SELECT *
FROM SP
WHERE ÍÎÌÅÐ_ÏÎÑÒÀÂÙÈÊÀ=
S.ÍÎÌÅÐ_ÏÎÑÒÀÂÙÈÊÀ
AND ÍÎÌÅÐ_ÄÅÒÀËÈ = 'Ð2');
Ðåçóëüòàò:
ôàìèëèÿ
Àäàìc
Ýòîò çàïðîñ ìîæíî ïåðåôðàçèðîâàòü: «Âûáðàòü ôàìèëèè ïîñòàâùèêîâ òàêèõ, ÷òî íå ñóùåñòâóåò ïîñòàâêè, ñâÿçûâàþùåé èõ ñ äåòàëüþ Ð2». Çàìåòèì, ÷òî ëåãêî ïðåîáðàçîâàòü ðåøåíèå ïðåäûäóùåé çàäà÷è (ïðèìåð 5.3.1) â ðåøåíèå äàííîé.
Ìåæäó ïðî÷èì, çàêëþ÷åííûé â ñêîáêè ïîäçàïðîñ, âõîäÿùèé â âûðàæåíèå EXISTS, âîâñå íå îáÿçàòåëüíî äîëæåí èñïîëüçîâàòü ïðåäëîæåíèå SELECT âèäà «SELECT *». Ìîæíî èñïîëüçîâàòü, íàïðèìåð, ïðåäëîæåíèå ñëåäóþùåãî âèäà: «SELECT èìÿ-ïîëÿ FROM...». Îäíàêî íà ïðàêòèêå îíî ïî÷òè âñåãäà áóäåò èìåòü âèä «SELECT *», êàê óæå áûëî ïðîäåìîíñòðèðîâàíî â íàøèõ ïðèìåðàõ.