Cours SQL et MySQL · Module 3: Filtrer (WHERE)
Le Scriptorium - l'art du filtrage
Dans cette leçon3
Te revoilà ! Tu pénètres dans le Scriptorium - la salle où les scribes ne recopient plus des rayons entiers, mais ne choisissent que les parchemins dont ils ont vraiment besoin. Tu vas y apprendre la compétence la plus importante du bibliothécaire : filtrer les données.
Pourquoi filtrer ?
Dans le lieu précédent, tu as appris SELECT, qui renvoie chaque ligne d'un rayon :
1SELECT * FROM ksiazki;Mais le rayon ksiazki peut abriter des milliers de parchemins ! Nous n'en avons que rarement besoin de tous. Le plus souvent, nous cherchons des parchemins précis : seulement les livres à plus de 30 pièces, seulement les auteurs venus de Grèce, seulement les emprunts qui n'ont pas encore été rendus.
La clause WHERE
Pour ne retenir que des lignes précises, nous utilisons la clause WHERE (ce qui signifie « où », « à condition que »). Nous l'écrivons toujours après la partie FROM :
1SELECT * FROM ksiazki
2WHERE dostepna = 1;Cette requête signifie : « Montre toutes les colonnes des livres pour lesquels la colonne dostepna vaut 1 ». La Bibliothèque parcourra chaque parchemin et ne renverra que ceux qui remplissent la condition.
Comment cela fonctionne-t-il ?
Imagine un scribe qui lit chaque parchemin à tour de rôle et se pose une seule question : « Ce parchemin remplit-il la condition ? ». Si oui - il rejoint la pile des résultats. Si non - il retourne sur le rayon. Au final, tu ne reçois que la pile des parchemins correspondants.
Dans ce lieu, tu vas rencontrer tous les outils qui servent à construire des conditions : les opérateurs de comparaison, les connecteurs AND/OR/NOT, les listes IN, les intervalles BETWEEN, les motifs LIKE et le mystérieux vide NULL. Commençons !
Tu as repéré une erreur dans cette leçon ?
Teste tes connaissances
Réponds aux questions de cette leçon. Choisis une réponse pour voir tout de suite si elle est correcte.
1. À quoi sert la clause WHERE dans une requête SELECT ?
2. Après quelle partie de la requête écrit-on la clause WHERE ?
Tâches pratiques dans le jeu
- Tri vertical
Ordonne les lignes d'une requête de filtrage simple (de la première à la dernière) :