Opérateur SQL LIKE

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 LIKELa 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-ProduitNom-ProduitCategoriePrixStockValeur-Totale
7001SourisAccessoires75,00
7002Disque dur65,00201 300,00
7003ClavierAccessoires36.00331 118,00
7004RAMComposants23.5016376,00
7005VTTvélos1 200
7006Stylo7.451074,50
7007Lecteur CDAccessoires75,00
7008MicroAccessoires75,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-ProduitNom-ProduitCategoriePrixStockValeur-Totale
7001SourisAccessoires75,001 300,00
7005Stylo7,451074,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-ProduitNom-ProduitCategoriePrixStockValeur-Totale
7002Disque dur65,00201 300,00
7003ClavierAccessoires36,00331118,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-ProduitNom-ProduitCategoriePrixStockValeur-Totale
7001SourisAccessoires75,00
7002Disque dur65,00201 300
7007Lecteur CDAccessoires75,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-ProduitNom-ProduitCategoriePrixStockValeur-Totale
7002Disque dur65,00201 300
7008MicroAccessoires75,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-ProduitNom-ProduitCategoriePrixStockValeur-Totale
7002Disque dur65,00201 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-ProduitNom-ProduitCategoriePrixStockValeur-Totale
7002Disque dur65,00201300,00
7003ClavierAccessoires36.00331 118,00
7004RAMComposants23.5016376,00
7005VTTvélos1 200
7007Lecteur CDAccessoires75,00
7008MicroAccessoires75,00