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