adplus-dvertising

Modèles de recherche - LIKE

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 ESSADDOUKI Mostafa
ESSADDOUKI
The education of the 21st century opens up opportunities to not merely teach, but to coach, mentor, nurture and inspire.