Maison >base de données >tutoriel mysql >Comment effectuer une requête de jointure MySQL avec l'opérateur LIKE ?

Comment effectuer une requête de jointure MySQL avec l'opérateur LIKE ?

DDD
DDDoriginal
2024-11-10 15:07:02807parcourir

How to Perform a MySQL Join Query with the LIKE Operator?

Requête de jointure MySQL LIKE

Cet article aborde le défi d'effectuer une requête de jointure MySQL à l'aide de l'opérateur LIKE. La requête présentée dans la question, qui tente de faire correspondre les colonnes de deux tables sur la base d'une similarité partielle de chaînes, ne fonctionne pas comme prévu.

Solution

Pour résoudre ce problème , la requête doit être modifiée comme suit :

SELECT *
FROM Table1
INNER JOIN Table2 ON Table1.col LIKE CONCAT('%', Table2.col, '%')

Concaténation MySQL

La principale différence réside dans l'opérateur de concaténation utilisé. MySQL gère la concaténation de chaînes différemment de certaines autres bases de données. Dans ce cas, la fonction CONCAT() est utilisée pour concaténer le caractère générique '%' avec la colonne Table2.col. Cela permet à l'opérateur LIKE d'effectuer une correspondance de modèles avec des correspondances partielles.

Alternatives

Dans d'autres bases de données, le || L’opérateur peut être utilisé pour la concaténation. Cependant, cet opérateur n'est pas pris en charge dans MySQL car il est utilisé pour l'opération OU logique.

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:
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