Maison >base de données >tutoriel mysql >Comment puis-je utiliser efficacement plusieurs conditions avec l'opérateur LIKE de SQL ?

Comment puis-je utiliser efficacement plusieurs conditions avec l'opérateur LIKE de SQL ?

Susan Sarandon
Susan Sarandonoriginal
2025-01-08 14:17:42805parcourir

Plusieurs conditions pour une utilisation efficace de l'opérateur SQL LIKE

L'opérateur LIKE en SQL est utilisé pour rechercher des chaînes contenant des modèles spécifiés. Habituellement, nous ajoutons des caractères génériques tels que % au modèle de correspondance. Cependant, si nous souhaitons introduire plusieurs conditions à l’aide de LIKE, la méthode OR traditionnelle n’est peut-être pas le meilleur choix.

Alternative : Table temporaire

Une meilleure façon d'introduire plusieurs conditions dans l'opérateur LIKE est de créer une table temporaire. Un exemple est le suivant :

<code class="language-sql">CREATE TEMPORARY TABLE patterns (
  pattern VARCHAR(20)
);

INSERT INTO patterns VALUES ('ABC%'), ('XYZ%'), ('PQR%');

SELECT t.*
FROM tbl t
JOIN patterns p ON (t.col LIKE p.pattern);</code>

Dans cet exemple, nous créons une table temporaire nommée patterns pour stocker plusieurs modèles correspondants. Nous insérons ensuite le schéma requis dans ce tableau. Enfin, nous effectuons une opération JOIN entre la table tbl et la table patterns pour trouver les lignes correspondantes en fonction de la colonne pattern.

Match unique

Dans l'exemple ci-dessus, nous supposons que le modèle est unique et que chaque ligne du tableau tbl ne correspond qu'à un seul modèle. Cependant, s'il existe plusieurs possibilités de correspondance, nous pouvons utiliser le modificateur de requête DISTINCT pour garantir des résultats uniques.

<code class="language-sql">SELECT DISTINCT t.*
FROM tbl t
JOIN patterns p ON (t.col LIKE p.pattern);</code>

Avec cette modification, nous garantissons que chaque ligne de la table tbl n'apparaît qu'une seule fois dans les résultats, même si elle correspond à plusieurs modèles.

How Can I Efficiently Use Multiple Conditions with SQL's LIKE Operator?

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn