Otazka na SQL - NOT IN

Milan Sorm xsorm na informatics.muni.cz
Úterý Únor 6 17:57:54 CET 2001


Kdyz provedu 

SELECT uzivatel FROM s_studium_obecne WHERE datum_vyrazeni IS NULL

dostanu korektne nekolik tisic ID uzivatelu, kteri korektne studuji

kdyz ale udelam

SELECT id FROM k_uzivatele WHERE id NOT IN (
	SELECT uzivatel FROM s_studium_obecne WHERE datum_vyrazeni IS NULL
)

Cekal bych, ze dostanu vsechny uzivatele, kteri nejsou v tom prvnim vybrani.
Nedostanu vsak nikoho, pricemz prokazatelne existuji:

	1. ti co maji datum_vyrazeni nastaveno
	2. ti co nejsou ani v s_studium_obecne uvedeni

Jak je to mozne ?

NOT IN tam potrebuju (nemuzu to udelat normalne pomoci JOIN), protoze ty
podminky jsou mnohem slozitejsi a tahle je tam jen jedna z mnoha

Uzivam Oracle 8.1.5 na Linuxu.

--milan sorm


Další informace o konferenci Test