Heim >Datenbank >MySQL-Tutorial >Wie suche ich mit LIKE nach mehreren Wörtern in einer SQL-Abfrage?
SQL-Abfrage: Rufen Sie Ergebnisse ab, die eine beliebige Kombination spezifischer Wörter enthalten
Angenommen, Sie benötigen eine SQL-Abfrage, um Datensätze aus einer Tabelle auszuwählen, in der ein bestimmtes Feld mehrere Wörter enthält und das Ergebnis eine beliebige Kombination dieser Wörter enthalten sollte.
Abfrage:
Um Zeilen abzurufen, in denen Feld Spalte1 eines der angegebenen Wörter enthält (unabhängig von ihrer Reihenfolge), können Sie die folgende Abfrage verwenden:
<code class="language-sql">SELECT * FROM MyTable WHERE Column1 LIKE '%word1%' OR Column1 LIKE '%word2%' OR Column1 LIKE '%word3%'</code>
Ergebnis:
Diese Abfrage gibt alle Zeilen zurück, die Folgendes enthalten:
Alle Wörter müssen vorhanden sein:
Wenn alle angegebenen Wörter in den Ergebnissen enthalten sein sollen, ändern Sie die Abfrage bitte wie folgt:
<code class="language-sql">SELECT * FROM MyTable WHERE Column1 LIKE '%word1%' AND Column1 LIKE '%word2%' AND Column1 LIKE '%word3%'</code>
Dadurch wird die Zeile zurückgegeben, in der Spalte1 alle drei Wörter („Wort1“, „Wort2“ und „Wort3“) enthält.
Leistungshinweise:
Obwohl die oben genannten Abfragen einfach sind, können sie bei großen Datenmengen langsam sein. Um die Leistung zu verbessern, sollten Sie die Verwendung der Volltextsuchfunktion in Betracht ziehen, die für die Suche in Textfeldern optimiert ist. Wie die Volltextsuche genau implementiert wird, hängt von der jeweiligen Datenbank ab, die Sie verwenden.
Das obige ist der detaillierte Inhalt vonWie suche ich mit LIKE nach mehreren Wörtern in einer SQL-Abfrage?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!