Leia salakaval NULL-viga ja kõnni sellest mööda
Päringul «leia kliendid, kellel pole ühtegi tellimust», mis on sõnastatud NOT IN kaudu, on vastik viga: kui alampäring sisaldab kasvõi ühte NULL-rida, tagastab kogu NOT IN vaikselt null rida — ilma vea, ilma hoiatuseta. See on klassikaline SQL-i kolmeväärtuselise loogika lõks.
Turvaline vaste on NOT EXISTS: see tagastab rea, kui sisemine päring midagi ei leidnud, ja on NULL-i suhtes immuunne. Kirjuta kontroll «kliendid ilma tellimusteta» ümber NOT EXISTS kaudu nii, et päring töötaks korrektselt isegi NULL-i korral andmetes. Näita selliste klientide identifikaatorit ja e-posti, sorteeri identifikaatori järgi.
Oodatava väljundi näidis
Nii näeb õige vastus välja — selle ridade arv on omaette ega pea ühtima skeemi tabelitega.
| id | |
|---|---|
| 3 | новый@email |
Logi sisse, et näha esituste ajalugu
Logi sisseLogi sisse, et kasutada AI mentorit
Logi sisse