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 M. ESSADDOUKI

Many people realize their hearts desires late in life. Continue learning, never stop striving and keep your curiosity sharp, and you will never become too old to appreciate life.

0 Commentaire(s)

Pour laisser un commentaire vous devez avoir un compte Inscription, ou Se connecter