L’opérateur SQL LIKE fait partie des outils SQL les plus im­por­tants pour re­cher­cher ef­fi­ca­ce­ment des jeux de données selon certains modèles. Cela est possible grâce à l’uti­li­sa­tion de ca­rac­tères gé­né­riques et de modèles qui vous per­met­tent de réduire con­si­dé­ra­ble­ment le nombre d’en­re­gis­tre­ments à analyser. Vous sim­pli­fiez et accélérez ainsi vos requêtes SQL !

Qu’est-ce que l’opérateur SQL LIKE ?

L’opérateur SQL LIKE agit comme un détective pour l’analyse des données : selon les besoins, il recherche des en­re­gis­tre­ments et des chaînes de ca­rac­tères, soit pour des cor­res­pon­dances exactes, soit en utilisant des ca­rac­tères de rem­pla­ce­ment et des modèles. Dans ce contexte, les ca­rac­tères de rem­pla­ce­ment, appelés Wildcards SQL, sont utilisés ex­clu­si­ve­ment avec l’opérateur LIKE. Ils per­met­tent de filtrer les données de manière efficace et flexible, op­ti­mi­sant ainsi con­si­dé­ra­ble­ment les per­for­mances SQL. L’opérateur LIKE est souvent utilisé en com­bi­nai­son avec la clause WHERE ainsi que les commandes SQL SQL DELETE, SQL SELECT ou SQL UPDATE.

Conseil

Si vous ne vous êtes pas encore intéressé de près à SQL, découvrez ce qu’il faut savoir sur le sujet dans notre in­tro­duc­tion à SQL avec exemples.

Syntaxe de l’opérateur LIKE

La syntaxe de base de LIKE se présente comme suit :

SELECT colonneA, colonneB, ...
FROM tableA
WHERE colonneA LIKE ‘Modèle de recherche ou caractère de remplacement’
sql

Ces pa­ra­mètres sont utilisés :

  • SELECT : définit les colonnes à partir des­quelles vous récupérez des données. Avec un as­té­risque *, vous pouvez également faire appel à des en­re­gis­tre­ments entiers.
  • FROM : indique les tables à utiliser pour la recherche.
  • WHERE : définit les colonnes à in­ter­ro­ger.
  • LIKE : spécifie les modèles de recherche. Vous pouvez utiliser des chaînes de ca­rac­tères exactes ou des ca­rac­tères de rem­pla­ce­ment SQL pour obtenir des cor­res­pon­dances flexibles.

SQL LIKE : quels sont les ca­rac­tères Wildcards SQL ap­pro­priés ?

Les Wildcards SQL ne doivent être utilisées qu’avec l’opérateur LIKE pour re­cher­cher des résultats si­mi­laires et cor­res­pon­dants. Voici les prin­ci­paux jokers :

  • Le signe de pour­cen­tage % : le % remplace un ou plusieurs ca­rac­tères dans le modèle de recherche. Avec %Modèle de recherche%, vous filtrez les données selon le modèle défini entre les signes de pour­cen­tage. L’em­pla­ce­ment des résultats dans les données ou les ca­rac­tères précédant ou suivant le modèle de recherche n’ont pas d’im­por­tance. Avec %Modèle de recherche%, vous filtrez les en­re­gis­tre­ments en fonction des résultats qui com­men­cent et se terminent par des ca­rac­tères avant et après le %.
  • Le trait de sou­lig­ne­ment _ : un trait de sou­lig­ne­ment remplace un seul caractère dans le modèle de recherche. Par exemple, lors d’une recherche sur S_RA, vous filtrez vos données pour tous les noms com­men­çant par S et se terminant par RA, avec un caractère inconnu à la deuxième position.
  • Les crochets [...] : ils spé­ci­fient que la recherche s’applique à l’ensemble des ca­rac­tères à l’intérieur des crochets. Par exemple, [a-d] indique que vous re­cher­chez une lettre comprise entre A et D dans le motif de recherche.

Voici les pos­si­bi­li­tés d’uti­li­sa­tion de l’opérateur LIKE

Les pos­si­bi­li­tés d’uti­li­sa­tion des requêtes et re­cherches avec LIKE sont presque il­li­mi­tées. Vous pouvez, par exemple :

  • Re­cher­cher des variantes de noms qui com­men­cent ou se terminent par une certaine chaîne de ca­rac­tères si vous ne con­nais­sez pas le nom exact.
  • Re­cher­cher des ter­mi­nai­sons d’email, comme .fr.
  • Filtrer les cor­res­pon­dances exactes avec des termes de recherche concrets sans utiliser de SQL Wildcards.
  • Filtrer les produits contenant des mots spé­ci­fiques dans leur nom ou re­cher­cher des ca­rac­té­ris­tiques par­ti­cu­lières des produits.
  • Exclure des données en combinant l’opérateur NOT avec LIKE.
  • Filtrer les résultats par date, plage de dates, ou par valeurs nu­mé­riques comme les prix des produits.
Conseil

Une gestion efficace des données nécessite une solution fiable et per­for­mante pour votre système de gestion de base de données. Avec l’hé­ber­ge­ment SQL de IONOS, vous bé­né­fi­ciez d’offres de serveurs et d’hé­ber­ge­ment flexibles adaptées à vos besoins.

Serveurs virtuels (VPS)
VPS éco­no­miques sur serveurs Dell En­ter­prise
  • 1 Gbit/s de bande passante et trafic illimité
  • Dis­po­ni­bi­lité de 99,99 % et cer­ti­fi­ca­tion ISO
  • As­sis­tance 24/7 primée pour sa qualité et con­seil­ler personnel

Exemples pratiques de recherche avec SQL LIKE

Selon le cas d’ap­pli­ca­tion et le jeu de données, dif­fé­rents types de commandes LIKE sont utilisés. Nos exemples pratiques il­lustrent le fonc­tion­ne­ment de SQL LIKE.

Filtrer avec un terme de recherche exact

Imaginez que vous re­cher­chez dans la table appelée « Clients » des clients ou des clientes avec un nom de famille spé­ci­fique. En utilisant SQL LIKE, vous obtenez tous les personnes avec le nom de famille en question. Il en va de même pour la recherche de valeurs nu­mé­riques exactes, comme les prix des produits.

Exemple :

SELECT  *
FROM  Clients
WHERE Nom de famille  LIKE  'Meunier'
sql

Filtrer avec des signes de pour­cen­tage

Pour filtrer de grands ensembles de données selon des modèles, vous utilisez des ca­rac­tères de rem­pla­ce­ment SQL. Avec les signes de pour­cen­tage, vous pouvez par exemple filtrer dans une table de clients tous les noms com­men­çant par « M » et se terminant par « er » :

SELECT  *
FROM  Clients
WHERE  Nom de famille  LIKE  'm%er'
sql

Si vous re­cher­chez toutes les adresses email se terminant par .fr, utilisez la syntaxe suivante :

SELECT  *
FROM  Clients
WHERE Adresse email  LIKE  '%.fr'
sql

Filtre avec un trait de sou­lig­ne­ment

Vous re­cher­chez dans la table « Clients » un nom de famille dont vous ne con­nais­sez que les deux premières et les deux dernières lettres, mais pas la lettre in­ter­mé­diaire ? Dans ce cas, la recherche se présente comme suit :

SELECT  *
FROM  Clients
WHERE  Nom de famille  LIKE  'Me_er'
sql

Exclure les données avec NOT LIKE

Vous pouvez inverser la requête de recherche avec l’opérateur SQL LIKE en le combinant avec le SQL NOT. De cette manière, vous filtrez un ensemble de données pour les résultats qui ne cor­res­pon­dent pas au terme ou au modèle de recherche. Par exemple, vous pouvez re­cher­cher comme suit tous les clients ou clientes dont le nom de famille n’est pas identique au nom indiqué :

SELECT  *
FROM  Clients
WHERE  Nom de famille  NOT LIKE  'Meunier'
sql

Al­ter­na­tives à l’opérateur SQL LIKE

Comme SQL LIKE fait partie des opé­ra­teurs de com­pa­rai­son, il existe d’autres opé­ra­teurs SQL qui fonc­tion­nent de manière similaire à LIKE. L’avantage de LIKE est toutefois que vous bé­né­fi­ciez d’une plus grande flexi­bi­lité et obtenez des résultats plus précis grâce aux ca­rac­tères gé­né­riques SQL tels que les ca­rac­tères gé­né­riques et les modèles, même en cas de termes de recherche imprécis.

Opé­ra­teurs fonc­tion­nant de manière similaire à SQL LIKE :

  • Égal = : filtre les résultats qui cor­res­pon­dent au terme de recherche.
  • Différent != : filtre les résultats qui ne cor­res­pon­dent pas exac­te­ment au terme de recherche.
  • Inférieur à < ou Supérieur à > : renvoie des valeurs nu­mé­riques des en­re­gis­tre­ments qui sont in­fé­rieures ou su­pé­rieures à la valeur re­cher­chée. Avec <= ou >=, vous filtrez les résultats qui sont in­fé­rieurs ou égaux, ou su­pé­rieurs ou égaux à la valeur re­cher­chée.
Aller au menu principal