Requête SQL : récupérez les résultats contenant n'importe quelle combinaison de mots spécifiques
Supposons que vous ayez besoin d'une requête SQL pour sélectionner des enregistrements dans une table dans laquelle un champ spécifique contient plusieurs mots et le résultat doit contenir n'importe quelle combinaison de ces mots.
Requête :
Pour récupérer les lignes où le champ Colonne1 contient l'un des mots spécifiés (quel que soit leur ordre), vous pouvez utiliser la requête suivante :
<code class="language-sql">SELECT * FROM MyTable WHERE Column1 LIKE '%word1%' OR Column1 LIKE '%word2%' OR Column1 LIKE '%word3%'</code>
Résultat :
Cette requête renverra toutes les lignes contenant :
Forcer tous les mots à être présents :
Si vous souhaitez que tous les mots spécifiés soient inclus dans les résultats, veuillez modifier la requête comme suit :
<code class="language-sql">SELECT * FROM MyTable WHERE Column1 LIKE '%word1%' AND Column1 LIKE '%word2%' AND Column1 LIKE '%word3%'</code>
Cela renverra la ligne où Colonne1 contient les trois mots ("mot1", "mot2" et "mot3").
Notes de performances :
Bien que les requêtes ci-dessus soient simples, elles peuvent être lentes pour les grands ensembles de données. Pour améliorer les performances, envisagez d'utiliser la fonctionnalité de recherche en texte intégral, optimisée pour les recherches dans les champs de texte. La manière exacte dont la recherche en texte intégral est mise en œuvre dépend de la base de données spécifique que vous utilisez.
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!