Betrachten Sie drei Tabellen:
Ziel ist es, alle Personen zusammen mit allen damit verbundenen Ängsten anzuzeigen ( einschließlich der Fälle, in denen eine Person keine Ängste hat).
Die bereitgestellte Abfrage weist eine auf Falsches Schema zum Verknüpfen von Tabellen:
SELECT persons.name, persons.ss, fears.fear FROM persons LEFT JOIN fears ON person_fear.personid = person_fear.fearid
Die ON-Klausel versucht fälschlicherweise, die Tabelle Person_Fear auf PersonID zu verknüpfen, statt auf FearID, der Spalte, die mit Fears verbunden ist.
Um eine Linksverknüpfung effektiv durchzuführen, beachten Sie Folgendes Ansatz:
SELECT Persons.Name, Persons.SS, Fears.Fear FROM Persons LEFT JOIN Person_Fear INNER JOIN Fears ON Person_Fear.FearID = Fears.FearID ON Person_Fear.PersonID = Persons.PersonID
Erklärung:
Alternative Abfrage:
Eine andere Möglichkeit, das gleiche Ergebnis zu erzielen, ist:
SELECT Persons.Name, Persons.SS, Fears.Fear FROM Persons LEFT JOIN Person_Fear ON Person_Fear.PersonID = Persons.PersonID LEFT JOIN Fears ON Person_Fear.FearID = Fears.FearID
Diese Abfrage verwendet zwei Links-Joins, um die Tabellen zu verbinden. ähnliche Ergebnisse erzielen.
Das obige ist der detaillierte Inhalt vonWie führt man effizient einen MySQL LEFT JOIN mit drei Tabellen durch?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!