Cours SQL et MySQL · Module 3: Filtrer (WHERE)
Le tiret bas et NOT LIKE
Dans cette leçon3
Tu connais déjà le signe pourcentage %. Nous allons maintenant compléter tes connaissances avec le second joker - le tiret bas _ - et avec la négation d'un motif : NOT LIKE.
Le tiret bas _ - exactement un caractère
Le caractère _ remplace exactement un caractère quelconque (ni plus, ni moins) :
1SELECT * FROM autorzy
2WHERE imie LIKE 'J_n';Cela correspond par ex. à Jan, Jon - trois lettres, où la première est J, la dernière est n, et celle du milieu est quelconque. Cela ne correspondra pas à Jaan (quatre lettres) ni à Jn (deux lettres), car chaque _ représente exactement un caractère.
Pourcentage contre tiret bas
| Caractère | Signification |
|---|---|
% | n'importe quelle suite de caractères (y compris vide) |
_ | exactement un caractère quelconque |
Ils peuvent être combinés, par ex. 'A_%' signifie : commence par A, puis exactement un caractère quelconque, puis n'importe quoi.
NOT LIKE - ce qui ne correspond PAS
Pour trouver les lignes qui ne correspondent pas au motif, nous utilisons NOT LIKE :
1SELECT * FROM ksiazki
2WHERE tytul NOT LIKE 'O%';Cela signifie : « Des titres qui ne commencent PAS par la lettre O ». L'opérateur NOT inverse l'action de LIKE, tout comme il inversait une condition ordinaire.
Grâce à %, _ et NOT LIKE, tu maîtrises entièrement la recherche de motifs. Aucun parchemin ne pourra se cacher de l'œil d'un scribe expérimenté !
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. Combien de caractères le tiret bas _ remplace-t-il dans un motif LIKE, par exemple 'J_n' ?
2. Que va renvoyer la condition : WHERE tytul NOT LIKE 'O%' ?
Tâches pratiques dans le jeu
- Éditeur de code
Écris une requête qui récupère toutes les colonnes de la table autorzy pour les auteurs dont le imie correspond au motif 'J_n' (première lettre J, lettre du milieu quelconque, dernière lettre n). Utilise l'opérateur LIKE.
- Tri vertical
Ordonne les lignes d'une requête recherchant les noms de famille commençant par 'Kow' (de la première à la dernière ligne) :