Maison >base de données >tutoriel mysql >Comment puis-je interroger efficacement plusieurs modèles LIKE dans MySQL ?
Lorsque les données doivent correspondre à l'un des multiples modèles LIKE, la question se pose : MySQL offre-t-il une alternative à la réutilisation des conditions OR ?
Traditionnellement, une requête ressemble à :
<code class="language-sql">SELECT * FROM fiberbox f WHERE f.fiberBox LIKE '%1740 %' OR f.fiberBox LIKE '%1938 %' OR f.fiberBox LIKE '%1940 %';</code>
Le but est de trouver une méthode plus propre et plus efficace, similaire à l'hypothétique LIKE IN(). Bien qu’il n’existe pas de construction directe LIKE IN(), il existe d’autres options.
Une façon de remplacer plusieurs conditions OR consiste à utiliser des expressions régulières (regexp) :
<code class="language-sql">SELECT * FROM fiberbox f WHERE f.field REGEXP '1740|1938|1940';</code>
L'expression régulière de cette requête correspond à n'importe quelle valeur de la colonne de champ contenant le modèle « 1740 », « 1938 » ou « 1940 ». Cette approche combine tous les modèles en une seule instruction, simplifiant les requêtes et améliorant potentiellement les performances, bien que cela puisse dépendre des circonstances.
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!