Les caractères génériques sont des caractères spéciaux utilisés pour faire correspondre des parties d’une valeur dans la clause WHERE.
Pour utiliser des caractères génériques dans les clauses de recherche, l’opérateur LIKE doit être utilisé.
La recherche par caractères génériques ne peut être utilisée qu’avec des champs de texte (chaînes).
Deux caractères génériques sont souvent utilisés conjointement avec l’opérateur LIKE :
- “%” – Signifie correspondre à n’importe quel nombre d’occurrences de n’importe quel caractère.
- “_ ” – Le trait de soulignement représente un seul caractère
Syntaxe:
SELECT colonne1, colonne2, ...
FROM nom_table
WHERE colonneN LIKE modèle ;
Vous pouvez également combiner n’importe quel nombre de conditions à l’aide des opérateurs AND ou OR.
Voici quelques exemples montrant différents opérateurs LIKE avec les caractères génériques ‘%‘ et ‘_‘.
Opérateur LIKE | La description |
---|---|
WHERE Nom_Etudiant LIKE ‘b%’ | Recherche toutes les valeurs qui commencent par “b” |
WHERE Nom_Etudiant LIKE ‘%ed%’ | Trouve toutes les valeurs qui ont “ed” dans n’importe quelle position |
WHERE Nom_Etudiant LIKE ‘a_%’ | Recherche toutes les valeurs commençant par “a” et comportant au moins 2 caractères |
WHERE Nom_Etudiant LIKE ‘b%t’ | Recherche toutes les valeurs qui commencent par “b” et se terminent par “t” |
WHERE Nom_Etudiant LIKE ‘%t’ | Recherche toutes les valeurs qui se terminent par “t” |
WHERE Nom_Etudiant LIKE ‘_a%’ | Recherche toutes les valeurs qui ont “a” en deuxième position |
WHERE Nom_Etudiant LIKE ‘s__%’ | Recherche toutes les valeurs commençant par “s” et comportant au moins 3 caractères |
Base de données DB2 :
Vous trouverez ci-dessous une sélection de la table “Product” de la base de données DB2.
ID-Produit | Nom-Produit | Categorie | Prix | Stock | Valeur-Totale |
---|---|---|---|---|---|
7001 | Souris | Accessoires | 75,00 | ||
7002 | Disque dur | 65,00 | 20 | 1 300,00 | |
7003 | Clavier | Accessoires | 36.00 | 33 | 1 118,00 |
7004 | RAM | Composants | 23.50 | 16 | 376,00 |
7005 | VTT | vélos | 1 200 | ||
7006 | Stylo | 7.45 | 10 | 74,50 | |
7007 | Lecteur CD | Accessoires | 75,00 | ||
7008 | Micro | Accessoires | 75,00 |
Exemple 1:
L’instruction SQL suivante sélectionne tous les produits dont le Nom_Produit commence par “S” :
SELECT * FROM Produit
WHERE Nom_Produit LIKE 'S%' ;
Résultat:
ID-Produit | Nom-Produit | Categorie | Prix | Stock | Valeur-Totale |
---|---|---|---|---|---|
7001 | Souris | Accessoires | 75,00 | 1 300,00 | |
7005 | Stylo | 7,45 | 10 | 74,50 |
Exemple 2 :
L’instruction SQL suivante sélectionne tous les produits dont le Nom_Produit se termine par “r” :
SELECT * FROM Produit
WHERE Nom_Produit LIKE '%r' ;
Résultat:
ID-Produit | Nom-Produit | Categorie | Prix | Stock | Valeur-Totale |
---|---|---|---|---|---|
7002 | Disque dur | 65,00 | 20 | 1 300,00 | |
7003 | Clavier | Accessoires | 36,00 | 33 | 1118,00 |
Exemple 3 :
L’instruction SQL suivante sélectionne tous les produits avec un Nom_Produit qui ont “ur” à n’importe quelle position :
SELECT * FROM Produit
WHERE
Nom_Produit
LIKE '%ur%' ;
Résultat:
ID-Produit | Nom-Produit | Categorie | Prix | Stock | Valeur-Totale |
---|---|---|---|---|---|
7001 | Souris | Accessoires | 75,00 | ||
7002 | Disque dur | 65,00 | 20 | 1 300 | |
7007 | Lecteur CD | Accessoires | 75,00 |
Exemple 4 :
L’instruction SQL suivante sélectionne tous les produits avec un Nom_Produit qui ont “i” en deuxième position :
SELECT * FROM Produit
WHERE Nom_Produit LIKE '_i%' ;
Résultat:
ID-Produit | Nom-Produit | Categorie | Prix | Stock | Valeur-Totale |
---|---|---|---|---|---|
7002 | Disque dur | 65,00 | 20 | 1 300 | |
7008 | Micro | Accessoires | 75,00 |
Exemple 5 :
L’instruction SQL suivante sélectionne tous les produits dont le Nom_Produit commence par “D” et se termine par “r” :
SELECT * FROM Produit
WHERE Nom_Produit LIKE 'D%r';
Résultat:
ID-Produit | Nom-Produit | Categorie | Prix | Stock | Valeur-Totale |
---|---|---|---|---|---|
7002 | Disque dur | 65,00 | 20 | 1 300,00 |
Exemple 6 :
L’instruction SQL suivante sélectionne tous les produits avec un Nom_Produit qui ne commence PAS par “S” :
SELECT * FROM Produit
WHERE Nom_Produit NOT LIKE 'S%' ;
Résultat:
ID-Produit | Nom-Produit | Categorie | Prix | Stock | Valeur-Totale |
---|---|---|---|---|---|
7002 | Disque dur | 65,00 | 20 | 1300,00 | |
7003 | Clavier | Accessoires | 36.00 | 33 | 1 118,00 |
7004 | RAM | Composants | 23.50 | 16 | 376,00 |
7005 | VTT | vélos | 1 200 | ||
7007 | Lecteur CD | Accessoires | 75,00 | ||
7008 | Micro | Accessoires | 75,00 |