MySQL LEFT JOIN beherrschen: Drei Tabellen verbinden
Bei der Arbeit mit mehreren Tabellen in einer MySQL-Datenbank ist es wichtig zu verstehen, wie man sie verbindet effektiv. Eine häufige Herausforderung besteht darin, Datensätze aus drei oder mehr Tabellen zu verknüpfen.
Bedenken Sie das bereitgestellte Beispiel: Wir haben drei Tabellen – Personen, Ängste und Person_Angst – und das Ziel besteht darin, alle Personen zusammen mit allen damit verbundenen Ängsten anzuzeigen (bzw das Fehlen von Ängsten).
Falsches LEFT JOIN-Beispiel
Der ursprünglich bereitgestellte Code enthält eine Fehler in der LEFT JOIN-Bedingung. Die Zeile:
ON person_fear.personid = person_fear.fearid
Verbindet Person_Fear.PersonID fälschlicherweise mit Person_Fear.FearID, was unsinnig ist.
Korrekte LEFT-JOIN-Implementierung
Um richtig zu sein Um die Tabellen zu verknüpfen, müssen wir die Bedingung ändern zu:
ON Person_Fear.PersonID = Persons.PersonID
Dies verknüpft Person_Fear.PersonID mit dem entsprechenden Feld in der Personentabelle.
Alternative LEFT JOIN-Syntax
Ein weiterer gültiger Ansatz Für den gleichen LEFT JOIN ist die folgende Syntax zu verwenden:
LEFT JOIN Person_Fear ON Person_Fear.PersonID = Persons.PersonID LEFT JOIN Fears ON Person_Fear.FearID = Fears.FearID
Diese Syntax gibt explizit an der LEFT JOIN zwischen Persons und Person_Fear, gefolgt von einem weiteren LEFT JOIN zwischen Person_Fear und Fears.
Resultierende Abfrage
Mit jedem dieser korrigierten Ansätze gibt die Abfrage alle zurück Datensätze aus der Tabelle „Personen“, auch solche, denen in den Tabellen „Person_Fear“ und „Fears“ keine Ängste zugeordnet sind. Für jede Person werden die zugehörigen Ängste oder NULL angezeigt, wenn mit ihnen keine Ängste verknüpft sind.
Wenn Sie die richtige Verwendung von LEFT JOIN verstehen, können Sie mehrere Tabellen effektiv abfragen und die gewünschten Ergebnisse abrufen für komplexe Datenbeziehungen in Ihrer MySQL-Datenbank.
Das obige ist der detaillierte Inhalt vonWie LINKS JOIN ich drei Tabellen in MySQL richtig?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!