Maison >base de données >tutoriel mysql >Comment trouver des lignes SQL contenant des mots spécifiques ?
Rechercher les lignes dont les champs contiennent des mots spécifiques en SQL
Question :
Vous avez besoin d'une requête SQL qui renvoie toutes les lignes d'une table où un champ spécifié contient un ou plusieurs mots d'une liste donnée. Les mots peuvent apparaître dans le champ dans n'importe quel ordre.
Solution :
Pour récupérer les lignes où un champ contient un mot spécifié, utilisez l'opérateur LIKE avec des caractères génériques :
<code class="language-sql">SELECT * FROM MyTable WHERE Column1 LIKE '%word1%' OR Column1 LIKE '%word2%' OR Column1 LIKE '%word3%'</code>
Pour récupérer les lignes où un champ contient tous les mots spécifiés, utilisez la condition ET :
<code class="language-sql">SELECT * FROM MyTable WHERE Column1 LIKE '%word1%' AND Column1 LIKE '%word2%' AND Column1 LIKE '%word3%'</code>
Remarque :
Pour améliorer les performances lors de la recherche de plusieurs mots, envisagez d'utiliser la recherche en texte intégral, qui est prise en charge par la plupart des principales bases de données. La mise en œuvre spécifique de la recherche en texte intégral dépend du type de base de données.
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!