PaliSkill
SQL débutant

Leçon 4 / 9 — Chapitre 3: WHERE : LIKE, IN, BETWEEN

NOT IN : exclure une liste de valeurs

NOT IN inverse IN : il teste qu'une valeur n'appartient pas à la liste donnée.

SELECT nom FROM produits WHERE categorie NOT IN ('hygiene', 'boisson');

Ce code affiche les produits dont la catégorie n'est ni hygiene ni boisson : Cahier, Stylo (papeterie), Biscuits (alimentaire), soit trois lignes sur les six.

Attention particulière avec NULL : si la liste ou la colonne testée contient une valeur NULL, NOT IN peut se comporter de façon surprenante et ne renvoyer aucune ligne du tout, même celles qui semblent visiblement exclues de la liste — un piège classique du langage SQL. Sur la table produits, aucune colonne testée ici ne contient de NULL, donc ce piège ne se manifeste pas, mais il est essentiel de le garder en tête dès qu'on manipule des données réelles.

SELECT nom FROM produits WHERE nom NOT IN ('Cahier', 'Stylo');

Ce code affiche tous les produits sauf Cahier et Stylo, soit les quatre lignes restantes.

À retenir :

  • NOT IN teste qu'une valeur n'appartient pas à une liste donnée.
  • Une valeur NULL dans la liste ou la colonne testée peut faire renvoyer aucune ligne à NOT IN : une prudence à garder à l'esprit sur des données réelles.

À vous de jouer : écrivez une requête qui affiche les produits dont la catégorie n'est pas dans ('papeterie', 'alimentaire').

🔒

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