Leçon 7 / 9 — Chapitre 2: WHERE : comparaisons et logique
Tester une valeur manquante : IS NULL
Une colonne peut parfois ne contenir aucune valeur pour une ligne donnée — cette absence de valeur s'appelle NULL. Elle ne doit jamais être confondue avec zéro, une chaîne de texte vide, ou toute autre valeur réelle : NULL signifie littéralement « valeur inconnue ou absente ».
Comparer NULL avec = ne fonctionne jamais comme attendu : WHERE colonne = NULL ne renvoie aucune ligne, même sur des lignes où la colonne est bien absente. Il faut utiliser les opérateurs dédiés IS NULL et IS NOT NULL.
SELECT nom FROM produits WHERE stock IS NULL;
Ce code affiche les produits dont le stock est absent (aucune valeur enregistrée). Sur la table produits telle que vue jusqu'ici, chaque ligne possède une valeur de stock : cette requête n'affiche donc aucune ligne — mais la syntaxe reste essentielle dès qu'une table réelle contient des valeurs manquantes.
SELECT nom FROM produits WHERE stock IS NOT NULL;
À l'inverse, IS NOT NULL affiche les lignes où la colonne a bien une valeur enregistrée : sur produits, cela correspond aux 6 lignes.
À retenir :
NULLreprésente une valeur absente ou inconnue, jamais zéro ni un texte vide.- On teste
NULLuniquement avecIS NULLouIS NOT NULL, jamais avec=ou<>.
À vous de jouer : écrivez une requête qui affiche les produits dont la categorie n'est pas NULL.
Continuez ce module
Débloquez les leçons restantes ainsi que la certification finale.
2 500 XOF / 3,81 € / 4,15 $
Débloquez les 84 leçons restantes de ce module
Votre paiement est vérifié avant l'activation de l'accès