ÐÓÊÎÂÎÄÑÒÂÎ ÏÎ ÐÅËßÖÈÎÍÍÎÉ ÑÓÁÄ DB2

         

ÇÀÏÐÎÑ, ÈÑÏÎËÜÇÓÞÙÈÉ 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 *», êàê óæå áûëî ïðîäåìîíñòðèðîâàíî â íàøèõ ïðèìåðàõ.



Ñîäåðæàíèå ðàçäåëà