Repérer un bug NULL sournois et le contourner
La requête « trouver les clients qui n'ont aucune commande » formulée avec NOT IN comporte un bug pernicieux : si la sous-requête contient ne serait-ce qu'une seule ligne NULL, le NOT IN tout entier renvoie silencieusement zéro ligne — sans erreur, sans avertissement. Un piège classique de la logique à trois valeurs en SQL.
L'équivalent sûr est NOT EXISTS : il renvoie une ligne lorsque la requête interne n'a rien trouvé, et il est insensible à NULL. Réécris la vérification « clients sans commande » à l'aide de NOT EXISTS afin que la requête fonctionne correctement même en présence de NULL dans les données. Affiche l'id et l'email de ces clients, trie par id.
Exemple de sortie attendue
Voici à quoi ressemble une réponse correcte — son nombre de lignes lui est propre, il n'a pas à correspondre aux tables du schéma.
| id | |
|---|---|
| 3 | новый@email |
Connectez-vous pour voir l'historique des soumissions
Se connecterConnectez-vous pour utiliser le Mentor IA
Se connecter