#820

Individua un subdolo bug con NULL e aggiralo

La query «trova i clienti che non hanno ordini» formulata con NOT IN nasconde un bug insidioso: se la sottoquery contiene anche una sola riga NULL, l'intero NOT IN restituisce silenziosamente zero righe — nessun errore, nessun avviso. Una classica trappola della logica a tre valori in SQL. L'equivalente sicuro è NOT EXISTS: restituisce una riga quando la query interna non ha trovato nulla, ed è immune a NULL. Riscrivi il controllo «clienti senza ordini» usando NOT EXISTS in modo che la query funzioni correttamente anche con NULL nei dati. Mostra l'id e l'email di tali clienti, ordina per id.

Esempio di output atteso

Ecco come appare una risposta corretta — il suo numero di righe è a sé stante, non deve corrispondere alle tabelle dello schema.

idemail
3новый@email

Il risultato della tua query apparirà qui