Heim >Datenbank >MySQL-Tutorial >Wie kann der LIKE-Operator von MySQL effizient für mehrere Werte verwendet werden?
MySQL LIKE-Abfrage für mehrere Werte
Dieser Artikel befasst sich mit einem häufigen Problem, das bei der Verwendung des LIKE-Operators in MySQL-Abfragen zur Suche nach mehreren Werten auftritt . Das Ziel besteht darin, Zeilen zu finden, in denen ein bestimmtes Feld mindestens einen der angegebenen Werte enthält.
Abfrage- und Beispieldaten
Betrachten Sie die folgende MySQL-Abfrage:
SELECT * FROM table WHERE interests LIKE ('%sports%', '%pub%')
Mit den folgenden Beispieldaten im Bereich „Interessen“ Feld:
sports,shopping,pool,pc,games shopping,pool,pc,games sports,pub,swimming, pool, pc, games
Problembeschreibung
Die obige Abfrage funktioniert nicht wie erwartet. Es werden keine Zeilen zurückgegeben, die entweder „sports“ oder „pub“ enthalten.
Lösung: Boolesche Operatoren verwenden
Eine einfache Lösung besteht darin, boolesche Operatoren wie zu verwenden ODER um Bedingungen für mehrere Werte anzugeben:
WHERE interests LIKE '%sports%' OR interests LIKE '%pub%'
Effizientere Lösung: Verwenden REGEXP
MySQL bietet eine effizientere Möglichkeit, mit dem REGEXP-Operator nach mehreren Werten zu suchen:
WHERE interests REGEXP 'sports|pub'
Diese Lösung verwendet den REGEXP-Operator, um einen regulären Ausdruck anzugeben, der mit Zeilen übereinstimmt, in denen Das Feld „Interessen“ enthält entweder „Sport“ oder „Sport“. „pub.“
Ressourcen
Weitere Informationen zu REGEXP in MySQL finden Sie in den folgenden Ressourcen:
Das obige ist der detaillierte Inhalt vonWie kann der LIKE-Operator von MySQL effizient für mehrere Werte verwendet werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!