Maison >base de données >tutoriel mysql >Comment rechercher efficacement plusieurs valeurs dans un seul champ SQL ?
Recherche de plusieurs valeurs dans un seul champ à l'aide de SQL
Dans le domaine des algorithmes de recherche, il est souvent nécessaire de trouver des enregistrements qui correspondent à plusieurs mots-clés. En SQL, cette tâche peut être accomplie en utilisant des opérateurs spécifiques qui recherchent des valeurs précises ou utilisent des caractères génériques.
Considérez la requête suivante :
<code class="sql">SELECT name FROM Products WHERE name LIKE %$search[1]% AND name LIKE %$search[2]% LIMIT 6;</code>
Cette requête présuppose que vous avez déjà divisé la chaîne de recherche en mots individuels. Cependant, au lieu d'utiliser l'opérateur LIKE avec AND, il est plus approprié d'utiliser l'opérateur IN pour rechercher plusieurs valeurs absolues :
<code class="sql">SELECT name FROM products WHERE name IN ( 'Value1', 'Value2', ... );</code>
Vous pouvez également utiliser l'opérateur OR avec LIKE, si vous préférez :
<code class="sql">SELECT name FROM products WHERE name LIKE '%Value1' OR name LIKE '%Value2';</code>
En utilisant IN, vous spécifiez les valeurs précises à rechercher, garantissant ainsi une correspondance précise. En revanche, OR vous permet de rechercher des enregistrements correspondant à l'une des valeurs spécifiées. Le choix entre ces opérateurs dépend du comportement de recherche souhaité.
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!