Aller au contenu principal
ShadowAcademy

Les langages SQL Filtrer les lignes

Valeurs vides, listes et motifs

La valeur vide : NULL

Le secteur de Driss n'est pas renseigné. Sa case ne contient pas un texte vide : elle contient NULL, qui signifie inconnu.

NULL ne se compare pas avec =. Cette requête ne renvoie jamais rien :

SELECT prenom FROM clients WHERE secteur = NULL;   -- ne marche pas

« Inconnu est-il égal à inconnu ? » La base répond « je ne sais pas », et la ligne n'est pas retenue. Deux opérateurs existent pour cela :

SELECT prenom FROM clients WHERE secteur IS NULL;
SELECT prenom FROM clients WHERE secteur IS NOT NULL;

Une valeur dans une liste

SELECT prenom, secteur
FROM clients
WHERE secteur IN ('santé', 'enseignement');

La version courte de secteur = 'santé' OR secteur = 'enseignement'.

Un intervalle, un motif

SELECT prenom FROM clients WHERE anciennete BETWEEN 10 AND 20;  -- bornes incluses
SELECT prenom FROM clients WHERE prenom LIKE 'A%';              -- commence par A

Avec LIKE, % remplace n'importe quelle suite de caractères, _ exactement un caractère.

2 exercices pour cette lecon

Les exercices demandent un compte : il faut bien enregistrer votre progression quelque part. La lecture, elle, reste libre. Creer un compte

  • Secteur non renseigné facile lecon a valider
  • Santé et enseignement moyen lecon a valider