#820

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.

idemail
3новый@email

Sinu päringu tulemus ilmub siia