Maison > base de données > tutoriel mysql > Comment utiliser efficacement l'opérateur LIKE de MySQL pour plusieurs valeurs ?

Comment utiliser efficacement l'opérateur LIKE de MySQL pour plusieurs valeurs ?

Linda Hamilton
Libérer: 2025-01-05 21:47:40
original
197 Les gens l'ont consulté

How to Efficiently Use MySQL's LIKE Operator for Multiple Values?

Requête MySQL LIKE pour plusieurs valeurs

Cet article aborde un problème courant rencontré lors de l'utilisation de l'opérateur LIKE dans les requêtes MySQL pour rechercher plusieurs valeurs . L'objectif est de trouver les lignes dans lesquelles un champ particulier contient au moins une des valeurs spécifiées.

Requête et exemples de données

Considérez la requête MySQL suivante :

SELECT * FROM table WHERE interests LIKE ('%sports%', '%pub%')
Copier après la connexion

Avec les exemples de données suivants dans les "intérêts" field :

sports,shopping,pool,pc,games
shopping,pool,pc,games
sports,pub,swimming, pool, pc, games
Copier après la connexion

Description du problème

La requête ci-dessus ne fonctionne pas comme prévu. Il ne parvient pas à renvoyer les lignes contenant « sports » ou « pub ».

Solution : utilisation d'opérateurs booléens

Une solution simple consiste à utiliser des opérateurs booléens tels que OU pour spécifier des conditions pour plusieurs valeurs :

WHERE interests LIKE '%sports%' OR interests LIKE '%pub%'
Copier après la connexion

Solution plus efficace : utiliser REGEXP

MySQL fournit un moyen plus efficace de rechercher plusieurs valeurs à l'aide de l'opérateur REGEXP :

WHERE interests REGEXP 'sports|pub'
Copier après la connexion

Cette solution utilise l'opérateur REGEXP pour spécifier une expression régulière qui correspond aux lignes où le champ « centres d'intérêt » contient soit « sports », soit "pub."

Ressources

Pour plus d'informations sur REGEXP dans MySQL, reportez-vous aux ressources suivantes :

  • [MySQL REGEXP](http://www.tutorialspoint.com/mysql/mysql-regexps.htm)
  • [Forums MySQL : COMME plusieurs valeurs](http://forums.mysql.com/read.php? 10,392332,392950#msg-392950)

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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal