Maison >base de données >tutoriel mysql >Comment rejoindre la même table deux fois dans MySQL ?

Comment rejoindre la même table deux fois dans MySQL ?

Barbara Streisand
Barbara Streisandoriginal
2024-12-13 00:36:10850parcourir

How to Join the Same Table Twice in MySQL?

Comment effectuer plusieurs opérations de jointure sur la même table dans MySQL

Lorsque vous travaillez avec plusieurs tables, il peut être nécessaire de les joindre sur plusieurs instances de la même table. Dans MySQL, cela peut être réalisé en utilisant plusieurs instructions LEFT JOIN.

Considérez le scénario suivant : vous disposez de deux tables, "domaines" et "avis", avec les colonnes suivantes :

  • domaines : dom_id, dom_url
  • avis: rev_id, rev_dom_from, rev_dom_for

Pour afficher les deux noms de domaine (du tableau "domaines") associés à chaque avis, il vous faudrait pour effectuer deux LEFT JOIN sur la table "domaines". Voici à quoi ressemblerait la requête :

SELECT toD.dom_url AS ToURL, 
    fromD.dom_url AS FromURL, 
    rvw.*

FROM reviews AS rvw

LEFT JOIN domain AS toD 
    ON toD.Dom_ID = rvw.rev_dom_for

LEFT JOIN domain AS fromD 
    ON fromD.Dom_ID = rvw.rev_dom_from

En alias la deuxième table "domaines" comme "toD" et "fromD", vous pouvez spécifier sur quelle colonne rejoindre et quel nom de domaine récupérer. Dans la liste SELECT, vous pouvez ensuite référencer les noms de domaine souhaités en utilisant les alias de table appropriés.

En résumé, pour rejoindre deux fois la même table dans MySQL, utilisez simplement plusieurs instructions LEFT JOIN avec des alias de table différents. Cela vous permet d'accéder à plusieurs colonnes de la même table au sein d'une seule requête.

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