#820

Depistează un bug viclean cu NULL și ocolește-l

Interogarea „găsește clienții care nu au comenzi” formulată cu NOT IN ascunde un bug neplăcut: dacă subinterogarea conține fie și un singur rând NULL, întregul NOT IN returnează în tăcere zero rânduri — fără eroare, fără avertisment. O capcană clasică a logicii cu trei valori în SQL. Echivalentul sigur este NOT EXISTS: returnează un rând atunci când interogarea internă nu a găsit nimic și este imun la NULL. Rescrie verificarea „clienți fără comenzi” folosind NOT EXISTS, astfel încât interogarea să funcționeze corect chiar și cu NULL în date. Afișează id-ul și email-ul acestor clienți, sortează după id.

Exemplu de ieșire așteptată

Așa arată un răspuns corect — numărul său de rânduri îi este propriu, nu trebuie să se potrivească cu tabelele din schemă.

idemail
3новый@email

Rezultatul interogării tale va apărea aici