Afin de communiquer avec les bases de données, les développeurs et experts data peuvent utiliser le langage SQL. Grâce à différentes requêtes, vous pouvez sélectionner certaines informations, mettre à jour un tableau, ajouter des données, en supprimer, etc. Parmi les commandes à connaître, il y a la requête LIKE SQL.
Mais à quoi sert-elle ? Comment l’utiliser ? Découvrez les réponses avec quelques exemples d’applications concrètes.
Définition de LIKE SQL
L’opérateur LIKE est l’une des commandes incontournables du langage informatique SQL. L’objectif est de rechercher des données spécifiques au sein d’un tableau. Pour cela, LIKE SQL utilise des modèles qui permettent de définir précisément ce dont vous avez besoin. Par exemple, si vous souhaitez sélectionner des clients dont le nom commence par « de » ou termine par « in », etc.
Comment utiliser LIKE SQL ?
Pour utiliser la requête LIKE SQL, la syntaxe la plus courante est la suivante :
SELECT *
FROM table
WHERE colonne LIKE modele
Grâce à cette commande, vous allez pouvoir sélectionner des données au sein d’un tableau, dans une colonne selon le modèle défini par LIKE SQL. Mais alors quel est ce modèle de recherche ?
Il est défini par des caractères joker. Ces derniers se substituent aux autres caractères de votre chaîne de caractère. Il en existe deux principaux. À savoir :
- % : il représente tous les autres caractères.
- _ : il représente un seul caractère.
À partir de là, voici les différentes combinaisons possibles :
- LIKE ‘%a’ : il vous permet de rechercher toutes les chaînes de caractères qui se terminent par un « a ».
- LIKE ‘a%’ : à l’inverse, vous pouvez rechercher toutes les chaînes de caractère qui commencent par un « a ».
- LIKE ‘%a%’ : cela concerne tous les enregistrements qui utilisent le caractère « a ». Dans ce cadre, le % peut n’indiquer qu’un seul, plusieurs ou même aucun caractère antérieur ou postérieur au « a ».
- LIKE ‘a%ion’ : ce modèle permet de rechercher les chaînes de caractère qui commencent par « a » et qui se terminent par « ion », comme « avion » ou « attention ».
- LIKE ‘a__’ : il s’agit de rechercher toutes les chaînes de caractères commençant par « a ». Mais dont le nombre total de caractères est limité à 3.
- LIKE ‘_a%’ : la combinaison de ces deux jokers nous indique que le nombre de caractères total n’importe pas. En revanche, le « a » doit impérativement être placé en seconde position.
Pour vous aider à mieux comprendre l’utilisation de LIKE SQL et de ses différents modèles de recherche, nous vous proposons plusieurs exemples concrets.
5 exemples d’utilisation de la requête SQL LIKE
Pour ces différents exemples, nous allons utiliser le tableau « Client » ci-dessous :
Nom | Prénom | Code postal | Numéro de téléphone | |
---|---|---|---|---|
Martin | Annie | 75112 | 06.40.45.36.61 | annie.m@gmail.com |
Durand | Fabien | 17042 | 07.58.36.21.63 | fabien.durand@laposte.net |
Dupont | Thomas | 17015 | 06.23.98.51.45 | dupont17@gmail.com |
Berger | Justine | 77485 | 06.15.29.85.61 | jusber@orange.fr |
Bernard | Valentin | 63950 | 07.59.65.19.95 | beber@sfr.fr |
LIKE ‘a%’
Pour cette commande LIKE SQL, nous recherchons tous les clients vivant dans le département Charente-Maritime (17). Voici la syntaxe de la requête :
SELECT *
FROM Client
WHERE Code postal LIKE 77%
Et voici le résultat :
Nom | Prénom | Code postal | Numéro de téléphone | |
---|---|---|---|---|
Durand | Fabien | 17042 | 07.58.36.21.63 | fabien.durand@laposte.net |
Dupont | Thomas | 17015 | 06.23.98.51.45 | dupont17@gmail.com |
LIKE ‘a%’
L’objectif de cette requête LIKE SQL est de rechercher tous les clients ayant une adresse Gmail. Vous aurez besoin de cette syntaxe :
SELECT *
FROM Client
WHERE email LIKE %gmail.com
Et voici le résultat :
Nom | Prénom | Code postal | Numéro de téléphone | |
---|---|---|---|---|
Martin | Annie | 75112 | 06.40.45.36.61 | annie.m@gmail.com |
Dupont | Thomas | 17015 | 06.23.98.51.45 | dupont17@gmail.com |
LIKE ‘%a%’
Ici, nous recherchons tous les clients dont le prénom contient un « i ». La syntaxe est la suivante :
SELECT *
FROM Client
WHERE prénom LIKE %i%
Et voici le résultat :
Nom | Prénom | Code postal | Numéro de téléphone | |
---|---|---|---|---|
Martin | Annie | 75112 | 06.40.45.36.61 | annie.m@gmail.com |
Durand | Fabien | 17042 | 07.58.36.21.63 | fabien.durand@laposte.net |
Berger | Justine | 77485 | 06.15.29.85.61 | jusber@orange.fr |
Bernard | Valentin | 63950 | 07.59.65.19.95 | beber@sfr.fr |
LIKE ‘_a%’
Pour cette requête LIKE SQL, nous recherchons tous les clients dont la deuxième lettre du prénom est un « ai ». Voici la syntaxe à utiliser :
SELECT *
FROM Client
WHERE prénom LIKE %_a%
Et voici le résultat :
Nom | Prénom | Code postal | Numéro de téléphone | |
---|---|---|---|---|
Durand | Fabien | 17042 | 07.58.36.21.63 | fabien.durand@laposte.net |
Bernard | Valentin | 63950 | 07.59.65.19.95 | beber@sfr.fr |
LIKE ‘a%ion’
Pour ce dernier exemple de LIKE SQL, nous recherchons tous les clients dont le numéro de téléphone comment par 06 et termine par 61. La syntaxe est la suivante :
SELECT *
FROM Client
WHERE numéro de téléphone LIKE 06%61
Et voici le résultat :
Nom | Prénom | Code postal | Numéro de téléphone | |
---|---|---|---|---|
Martin | Annie | 75112 | 06.40.45.36.61 | annie.m@gmail.com |
Berger | Justine | 77485 | 06.15.29.85.61 | jusber@orange.fr |
Maîtrisez le langage SQL avec DataScientest
Au-delà de la requête LIKE SQL, il existe une multitude de requêtes à connaître pour manipuler efficacement les bases de données relationnelles. Si vous souhaitez en savoir plus, n’hésitez pas à rejoindre nos formations data.