Langage SQL

Notification de cookies

Nous utilisons des cookies pour améliorer votre expérience. En poursuivant votre navigation sur ce site, vous acceptez l'utilisation de cookies. Plus d'informations

Modèles de recherche - LIKE

Parfois, nous pouvons exiger des nuplets de la base de données qui correspondent à certains modèles. Par exemple, nous pouvons souhaiter extraire toutes les colonnes où les n-uplets commencent par la lettre "y" ou par "b" et se terminent par "a", ou même par des motifs de chaîne plus compliqués et restrictifs. C'est ici que la lause LIKE vient nous sauver.
Souvent associée à la clause WHERE en SQL.

Deux types de caractères génériques sont utilisés pour filtrer les résultats:

  •  %  : Utilisé pour faire correspondre zéro, un ou plusieurs caractères. (Longueur variable)
  •  _  : Utilisé pour correspondre exactement à un caractère. (Longueur fixe)

Voici les règles utilisées pour la correspondance de modèle avec la clause LIKE:

ModèleDescription
"a%"Il fait correspondre les chaînes qui commencent par "a"
"%a"Il fait correspondre les chaînes qui se terminent par "a"
"a%t"Il fait correspondre les chaînes qui commencent par «a» et se terminent par «t».
"%abc%"Il fait correspondre les chaînes qui contiennent la sous-chaîne "abc" en n'importe quelle position.
"_abc%"Il fait correspondre les chaînes contenant la sous-chaîne "abc" en deuxième position.
"_a%"Il fait correspondre les chaînes contenant «a» à la deuxième position.
"a_%_%"Il fait correspondre les chaînes qui commencent par "a" et contiennent au moins 2 caractères supplémentaires.

Exemples 

La table échantillon - Employes
                                +----+---------+-----+---------+
                                | Id | Nom     | Age | Salaire |
                                +----+---------+-----+---------+
                                |  1 | Ismail  |  25 | 6000.00 |
                                |  2 | Mohamed |  30 | 8000.40 |
                                |  3 | Fatima  |  29 | 6000.00 |
                                |  4 | Dounia  |  31 | 9000.00 |
                                |  5 | Omar    |  30 | 7500.00 |
                                |  6 | Mostafa |  32 | 7000.00 |
                                +----+---------+-----+---------+
                            
Exemple 1 :

La requête suivante va chercher tous les employés dont les noms commencent par "Mo"

                                SELECT * FROM Employes WHERE Nom LIKE "Mo%";
                            

Cela produirait le résultat suivant :

                                +----+---------+-----+---------+
                                | Id | Nom     | Age | Salaire |
                                +----+---------+-----+---------+
                                |  2 | Mohamed |  30 | 8000.40 |
                                |  6 | Mostafa |  32 | 7000.00 |
                                +----+---------+-----+---------+
                            
Exemple 2 :
                                SELECT * FROM Employes WHERE Nom LIKE "%a";
                            

Cela produirait le résultat suivant :

                                +----+---------+-----+---------+
                                | Id | Nom     | Age | Salaire |
                                +----+---------+-----+---------+
                                |  3 | Fatima  |  29 | 6000.00 |
                                |  4 | Dounia  |  31 | 9000.00 |
                                |  6 | Mostafa |  32 | 7000.00 |
                                +----+---------+-----+---------+
                            
Exemple 3 :
                                SELECT * FROM Employes WHERE Nom LIKE "%m%";
                            

Cela produirait le résultat suivant :

                                +----+---------+-----+---------+
                                | Id | Nom     | Age | Salaire |
                                +----+---------+-----+---------+
                                |  1 | Ismail  |  25 | 6000.00 |
                                |  2 | Mohamed |  30 | 8000.40 |
                                |  3 | Fatima  |  29 | 6000.00 |
                                |  5 | Omar    |  30 | 7500.00 |
                                |  6 | Mostafa |  32 | 7000.00 |
                                +----+---------+-----+---------+
                            
Exemple 4 :
                                SELECT * FROM Employes WHERE Nom LIKE "%m_";
                            

Cela produirait le résultat suivant :

                                +----+--------+-----+---------+
                                | Id | Nom    | Age | Salaire |
                                +----+--------+-----+---------+
                                |  3 | Fatima |  29 | 6000.00 |
                                +----+--------+-----+---------+
                            

Partager ce cours avec tes amis :

Rédigé par M. ESSADDOUKI

Learning a new programming language is an easy thing, but the most difficult thing is how to design efficient algorithms for real-world problems, so don't be a programmer, be a problems solver.

Cours Similaires :