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.
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.
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.
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!