SQL LIKE : l’opérateur pour une recherche efficace avec SQL

L’opérateur SQL LIKE fait partie des outils SQL les plus importants pour rechercher efficacement des jeux de données selon certains modèles. Cela est possible grâce à l’utilisation de caractères génériques et de modèles qui vous permettent de réduire considérablement le nombre d’enregistrements à analyser. Vous simplifiez 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 enregistrements et des chaînes de caractères, soit pour des correspondances exactes, soit en utilisant des caractères de remplacement et des modèles. Dans ce contexte, les caractères de remplacement, appelés Wildcards SQL, sont utilisés exclusivement avec l’opérateur LIKE. Ils permettent de filtrer les données de manière efficace et flexible, optimisant ainsi considérablement les performances SQL. L’opérateur LIKE est souvent utilisé en combinaison 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 introduction à 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 paramètres sont utilisés :

  • SELECT : définit les colonnes à partir desquelles vous récupérez des données. Avec un astérisque *, vous pouvez également faire appel à des enregistrements entiers.
  • FROM : indique les tables à utiliser pour la recherche.
  • WHERE : définit les colonnes à interroger.
  • LIKE : spécifie les modèles de recherche. Vous pouvez utiliser des chaînes de caractères exactes ou des caractères de remplacement SQL pour obtenir des correspondances flexibles.

SQL LIKE : quels sont les caractères Wildcards SQL appropriés ?

Les Wildcards SQL ne doivent être utilisées qu’avec l’opérateur LIKE pour rechercher des résultats similaires et correspondants. Voici les principaux jokers :

  • Le signe de pourcentage % : le % remplace un ou plusieurs caractè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 pourcentage. L’emplacement des résultats dans les données ou les caractères précédant ou suivant le modèle de recherche n’ont pas d’importance. Avec %Modèle de recherche%, vous filtrez les enregistrements en fonction des résultats qui commencent et se terminent par des caractères avant et après le %.
  • Le trait de soulignement _ : un trait de soulignement 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 commençant par S et se terminant par RA, avec un caractère inconnu à la deuxième position.
  • Les crochets [...] : ils spécifient que la recherche s’applique à l’ensemble des caractères à l’intérieur des crochets. Par exemple, [a-d] indique que vous recherchez une lettre comprise entre A et D dans le motif de recherche.

Voici les possibilités d’utilisation de l’opérateur LIKE

Les possibilités d’utilisation des requêtes et recherches avec LIKE sont presque illimitées. Vous pouvez, par exemple :

  • Rechercher des variantes de noms qui commencent ou se terminent par une certaine chaîne de caractères si vous ne connaissez pas le nom exact.
  • Rechercher des terminaisons d’email, comme .fr.
  • Filtrer les correspondances exactes avec des termes de recherche concrets sans utiliser de SQL Wildcards.
  • Filtrer les produits contenant des mots spécifiques dans leur nom ou rechercher des caractéristiques particuliè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 numériques comme les prix des produits.
Conseil

Une gestion efficace des données nécessite une solution fiable et performante pour votre système de gestion de base de données. Avec l’hébergement SQL de IONOS, vous bénéficiez d’offres de serveurs et d’hébergement flexibles adaptées à vos besoins.

Serveurs virtuels (VPS)
Faites le choix de la performance
  • Virtualisation complète avec accès root
  • Trafic illimité et jusqu'à 1 Gbit/s de bande passante
  • Stockage SSD NVMe rapide et édition Plesk Web Host

Exemples pratiques de recherche avec SQL LIKE

Selon le cas d’application et le jeu de données, différents types de commandes LIKE sont utilisés. Nos exemples pratiques illustrent le fonctionnement de SQL LIKE.

Filtrer avec un terme de recherche exact

Imaginez que vous recherchez dans la table appelée « Clients » des clients ou des clientes avec un nom de famille spécifique. 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 numériques exactes, comme les prix des produits.

Exemple :

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

Filtrer avec des signes de pourcentage

Pour filtrer de grands ensembles de données selon des modèles, vous utilisez des caractères de remplacement SQL. Avec les signes de pourcentage, vous pouvez par exemple filtrer dans une table de clients tous les noms commençant par « M » et se terminant par « er » :

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

Si vous recherchez 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 soulignement

Vous recherchez dans la table « Clients » un nom de famille dont vous ne connaissez que les deux premières et les deux dernières lettres, mais pas la lettre intermé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 correspondent pas au terme ou au modèle de recherche. Par exemple, vous pouvez rechercher 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

Alternatives à l’opérateur SQL LIKE

Comme SQL LIKE fait partie des opérateurs de comparaison, il existe d’autres opérateurs SQL qui fonctionnent de manière similaire à LIKE. L’avantage de LIKE est toutefois que vous bénéficiez d’une plus grande flexibilité et obtenez des résultats plus précis grâce aux caractères génériques SQL tels que les caractères génériques et les modèles, même en cas de termes de recherche imprécis.

Opérateurs fonctionnant de manière similaire à SQL LIKE :

  • Égal = : filtre les résultats qui correspondent au terme de recherche.
  • Différent != : filtre les résultats qui ne correspondent pas exactement au terme de recherche.
  • Inférieur à < ou Supérieur à > : renvoie des valeurs numériques des enregistrements qui sont inférieures ou supérieures à la valeur recherchée. Avec <= ou >=, vous filtrez les résultats qui sont inférieurs ou égaux, ou supérieurs ou égaux à la valeur recherchée.
Cet article vous a-t-il été utile ?
Page top