SQL Quest
Se connecter English 0 XP Niv. 1
Débutant

SQL LIKE : rechercher un motif dans du texte

4 min de lecture · 4 exemples exécutables · mis à jour le 9 octobre 2026

L'égalité = ne trouve que les textes identiques. Pour chercher les noms qui commencent par une lettre, les e-mails qui contiennent un domaine ou les produits qui se terminent par un mot, on utilise LIKE avec des caractères jokers.

Syntaxe

WHERE colonne LIKE 'motif'

Comment ça marche

Le motif de LIKE peut contenir deux jokers :

JokerRemplaceExempleTrouve
%n'importe quelle suite de caractères (même vide)'B%'Benali, Bonnet, B
_exactement un caractère'_ade'Jade, Wade

Les motifs les plus courants : 'abc%' (commence par), '%abc' (se termine par) et '%abc%' (contient).

En SQLite, LIKE ignore les majuscules pour les lettres sans accent : 'b%' trouve aussi « Bernard ». Ce comportement varie selon les bases : PostgreSQL est sensible à la casse (il propose ILIKE), MySQL dépend de la collation.

Schéma

clients
prenomnom
LéaBenali
HugoMartin
InèsBonnet
AdamRoux
résultat
prenomnom
LéaBenali
InèsBonnet
WHERE nom LIKE 'B%' : on garde les noms qui commencent par B.

Schéma simplifié pour illustrer le principe. Les exemples ci-dessous utilisent la vraie base d'exercices de SQL Quest (une boutique en ligne fictive : voir le schéma complet).

Exemples avec leurs résultats

1. Commence par

Les clients dont le nom commence par « B ».

SELECT prenom, nom
FROM clients
WHERE nom LIKE 'B%'
LIMIT 8;
Essayer dans le bac à sable
Résultat
prenomnom
LéaBlanc
SarahBenali
LucasBlanc
LéaBenali
KarimBernard
SarahBlanc
ChloéBonnet
EmmaBernard

8 lignes au total

2. Contient

Les produits dont le nom contient « de ».

SELECT nom, categorie
FROM produits
WHERE nom LIKE '%de%';
Essayer dans le bac à sable
Résultat
nomcategorie
Tapis de yogaSport
Gourde inoxSport
Corde à sauterSport
Ballon de footSport
Guide SQLLivres
Livre de cuisineLivres

6 lignes au total

3. Se termine par

Les produits dont le nom se termine par « e ».

SELECT nom
FROM produits
WHERE nom LIKE '%e';
Essayer dans le bac à sable
Résultat
nom
Clavier mécanique
Bougie parfumée
Cafetière
Vase céramique
Raquette
BD aventure
Livre de cuisine
Huile d'olive

8 lignes au total

4. Un caractère précis avec _

Les prénoms de 4 lettres qui finissent par « a ».

SELECT DISTINCT prenom
FROM clients
WHERE prenom LIKE '___a';
Essayer dans le bac à sable
Résultat
prenom
Emma
Lina

2 lignes au total

Les erreurs fréquentes

Oublier le joker %

Sans %, LIKE 'B' cherche exactement le texte « B » et ne trouve rien.

À éviter
SELECT * FROM clients WHERE nom LIKE 'B';
Correct
SELECT * FROM clients WHERE nom LIKE 'B%';

Utiliser = avec un joker

Le signe = ne comprend pas les jokers : il cherche littéralement le caractère %.

À éviter
SELECT * FROM clients WHERE nom = 'B%';
Correct
SELECT * FROM clients WHERE nom LIKE 'B%';

Chercher sans tenir compte des accents

LIKE ne remplace pas « é » par « e ». '%Lea%' ne trouve pas « Léa ».

À éviter
SELECT * FROM clients WHERE prenom LIKE 'Lea';
Correct
SELECT * FROM clients WHERE prenom LIKE 'Léa';

Exercices

Essayez d'écrire la requête vous-même avant d'ouvrir la solution.

Défi 1. Affichez les clients dont l'adresse e-mail contient « martin ».

Voir une solution
SELECT prenom, nom, email FROM clients WHERE email LIKE '%martin%';
prenomnomemail
SamirMartinsamir.martin2@mail.com
LucasMartinlucas.martin41@mail.com
ThéoMartintheo.martin62@mail.com
HugoMartinhugo.martin75@mail.com
LinaMartinlina.martin82@mail.com
OmarMartinomar.martin100@mail.com
ThéoMartintheo.martin107@mail.com

7 lignes au total

Essayer dans le bac à sable

Défi 2. Affichez les produits dont le nom commence par « C ».

Voir une solution
SELECT nom, prix FROM produits WHERE nom LIKE 'C%';
nomprix
Clavier mécanique15
Casque gaming98
Coussin10,86
Cafetière47,62
Corde à sauter43,19
Café en grains21,79
Chocolat noir22,31

7 lignes au total

Essayer dans le bac à sable
Envie de vous entraîner davantage ?

Les exercices interactifs sont corrigés automatiquement, avec un prof qui explique vos erreurs. Une leçon résumée reste affichée à côté de l'éditeur.

Faire les exercices interactifs

Questions fréquentes

LIKE est-il sensible aux majuscules ?

En SQLite, non pour les lettres sans accent. En PostgreSQL, oui (utilisez ILIKE pour l'ignorer). En MySQL, cela dépend de la collation de la colonne.

Comment chercher un vrai caractère % ?

Avec la clause ESCAPE : LIKE '%10\%%' ESCAPE '\' cherche les textes contenant « 10% ».

LIKE '%mot%' est-il lent ?

Sur de grosses tables, oui : un motif qui commence par % empêche d'utiliser un index. Pour de la recherche de texte avancée, les bases proposent des index plein texte.

À lire ensuite