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!