Cours SQL et MySQL · Module 3: Filtrer (WHERE)

Le tiret bas et NOT LIKE

2 min de lecture
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èreSignification
%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. 1. Combien de caractères le tiret bas _ remplace-t-il dans un motif LIKE, par exemple 'J_n' ?

  2. 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) :