Instruction SQL LIKE – Comment effectuer une requête SQL avec des caractères génériques ?

Vous pouvez utiliser les caractères génériques % et _ avec l’instruction SQL LIKE pour comparer les valeurs d’une table SQL. Mais comment cela fonctionne-t-il exactement ?

Dans cet article, je vais vous montrer comment utiliser l’instruction SQL LIKE à l’aide d’exemples de code.

Syntaxe de base de l’instruction SQL LIKE

Voici la syntaxe de base de l’instruction SQL LIKE :

SELECT FROM nom_table
WHERE column LIKE 'string pattern' (colonne)

En SQL,

le filtrage vous permet d’utiliser _ pour correspondre à un caractère unique et %

pour correspondre à un nombre arbitraire de caractères (y compris les caractères zéro)
Par exemple, si nous voulons trouver tous les noms de la table qui commencent par la lettre « T », nous pouvons utiliser cette syntaxe :

Lorsque le nom est égal à 'T%'

Ou si nous voulions trouver tous les noms dans la table qui contiennent les lettres « on », alors nous pourrions utiliser cette syntaxe :

WHERE name LIKE '%on%' ; WHERE name LIKE '%on%' ; WHERE quantity LIKE '_9

Nous pouvons utiliser le caractère générique _ pour trouver une correspondance à un seul caractère. Par exemple, voici la syntaxe permettant de trouver tous les numéros de la catégorie  » quantité" qui comportent deux chiffres et se terminent par « 9 » :

WHERE quantity LIKE '_9' ;

Pour mieux comprendre comment ces caractères génériques fonctionnent avec l’instruction SQL Like, examinons un exemple de tableau de données.

Voir aussi :  Insérer dans le SQL - Comment insérer dans une requête de table [Exemple de déclaration]

Comment utiliser l’instruction SQL LIKE – exemple avec une table de voitures

Dans cet exemple, nous avons une table de voitures avec les colonnes id, modèle, marque et prix.

id|marque|modèle|prix
1|Honda|Civic|21000
2|Ford|Fusion|23000
3|Toyota|Camry|24000
4|Dodge|Challenger|29000
5|Tesla|Modèle X|104000
6|Chevrolet|Tahoe|49000

Comment utiliser le caractère générique %

avec l’instruction SQL LIKE ?
Dans ce premier exemple, nous voulons trouver tous les modèles de voiture qui commencent par la lettre « C ».

SELECT * FROM cars
WHERE model LIKE 'C%' ;

Ce code renverrait les résultats suivants à partir de la table des voitures:

id|marque|modèle|prix
1|Honda|Civic|21000
3|Toyota|Camry|24000
4|Dodge|Challenger|29000

Nous pouvons voir que 3 des 6 entrées de notre tableau des voitures ont des noms de modèles qui commencent par la lettre « C ».

L’instruction SQL LIKE n’est pas sensible à la casse, ce qui signifie que 'C%' et 'c%' donneraient des résultats identiques.

Nous pouvons également utiliser le caractère générique % et l’instruction SQL LIKE pour trouver les entrées qui se terminent par un ou plusieurs caractères.

Dans cet exemple, nous voulons trouver tous les constructeurs automobiles dont le nom se termine par un « a ».

SELECT * FROM cars
WHERE make LIKE '%a' ;

Ce code renverrait les résultats suivants à partir de la table cars:

id|marque|modèle|prix
1|Honda|Civic|21000
3|Toyota|Camry|24000
5|Tesla|Modèle X|104000

Nous pouvons voir que 3 des 6 constructeurs automobiles ont un nom qui se termine par la lettre « a ».

Comment utiliser plusieurs caractères génériques %

avec l’instruction SQL LIKE ?
Dans cet exemple, nous voulons trouver tous les prix des voitures qui contiennent le chiffre 9.

SELECT * FROM cars
WHERE price LIKE '%9%' ;

Ce code renverrait les résultats suivants à partir de la table cars:

id|marque|modèle|prix
4|Dodge|Challenger|29000
6|Chevrolet|Tahoe|49000

Nous pouvons voir que 2 des 6 prix des voitures incluent le chiffre 9.

Voir aussi :  Couler une fonction en SQL - Convertir Char en Int Exemple SQL Server

Comment utiliser le caractère générique _

avec l’instruction SQL LIKE ?
Nous pouvons utiliser le caractère générique _ pour trouver une correspondance à caractère unique.

Modifions notre table de voitures:

id|marque|modèle|prix
30|Honda|Civic|21000
35|Ford|Fusion|23000
40|Toyota|Camry|24000
45|Dodge|Challenger|29000
50|Tesla|Modèle X|104000
55|Chevrolet|Tahoe|49000

Dans cet exemple, nous voulons trouver tous les identifiants qui ont deux chiffres et se terminent par le chiffre 0.

SELECT * FROM cars
WHERE id LIKE '_0' ;

Ce code renverrait les résultats suivants à partir du tableau des voitures:

id|marque|modèle|prix
30|Honda|Civic|21000
40|Toyota|Camry|24000
50|Tesla|Modèle X|104000

Nous pouvons voir que 3 des 6 identifiants de voiture à deux chiffres se terminent par le chiffre 0.

Comment utiliser plusieurs caractères génériques _

avec l’instruction SQL LIKE ?
Modifions à nouveau notre table Cars.

id|marque|modèle|prix
130|Honda|Civic|21000
135|Ford|Fusion|23000
140|Toyota|Camry|24000
145|Dodge|Challenger|29000
150|Tesla|Modèle X|104000
155|Chevrolet|Tahoe|49000

Dans cet exemple, nous voulons trouver tous les identifiants à trois chiffres qui se terminent par le chiffre 0.

SELECT * FROM cars
WHERE id LIKE '__0' ;

Ce code renverrait les résultats suivants à partir du tableau des voitures:

id|marque|modèle|prix
130|Honda|Civic|21000
140|Toyota|Camry|24000
150|Tesla|Modèle X|104000

Nous avons dû utiliser deux caractères de soulignement _ avec l’instruction SQL LIKE pour trouver tous les identifiants à trois chiffres se terminant par le chiffre 0.

Utilisation de deux caractères de soulignement
'__0'

au lieu d'un seul 
'_0'

Utilisation de l’opérateur NOT avec l’instruction SQL LIKE

Nous pouvons utiliser l’opérateur NOT en SQL pour trouver tous les résultats qui ne correspondent pas au modèle de chaîne de l’instruction LIKE.

Nous pouvons modifier notre dernier exemple pour trouver tous les identifiants à trois chiffres qui ne se terminent pas par le chiffre 0.

SELECT * FROM cars
WHERE id NOT LIKE '__0' ;

Ce code renverrait les résultats suivants à partir de la table des voitures:

id|marque|modèle|prix
135|Ford|Fusion|23000
145|Dodge|Challenger|29000
155|Chevrolet|Tahoe|49000

Comment utiliser les caractères génériques % et _

avec l’instruction SQL LIKE ?
Dans cet exemple, nous voulons trouver tous les constructeurs automobiles dont la deuxième lettre est un « o » et dont le nom se termine par un « a ».

SELECT * FROM cars
WHERE make LIKE '_o%a' ;

Le _o permet de trouver tous les constructeurs automobiles dont la deuxième lettre est un « o ». Le %a permet de trouver tous les constructeurs automobiles dont le nom se termine par la lettre « a ».

Voir aussi :  Apprendre SQL - Cours gratuits sur les bases de données relationnelles pour les débutants

Ce code renverrait les résultats suivants à partir de la table des voitures:

id|marque|modèle|prix
130|Honda|Civic|21000
140|Toyota|Camry|24000

Conclusion

Vous pouvez utiliser les caractères génériques % et _ avec l’instruction SQL LIKE pour comparer les valeurs d’une table SQL.

Voici la syntaxe de base de l’instruction SQL Like.

SELECT FROM nom_table
WHERE column LIKE 'string pattern' (colonne)

Le % correspond à zéro, un ou plusieurs caractères, tandis que le _ correspond à un seul caractère.

Dans cet article, nous avons appris à utiliser ces deux caractères génériques avec l’instruction SQL LIKE en utilisant l’exemple de la table des voitures.

J’espère que cet article vous a plu et je vous souhaite bonne chance dans votre aventure SQL.

Laisser un commentaire