Heim > Datenbank > MySQL-Tutorial > Wie verbinde ich drei Tabellen in MySQL mithilfe von LEFT JOIN korrekt, um alle Personen und ihre damit verbundenen Ängste abzurufen?

Wie verbinde ich drei Tabellen in MySQL mithilfe von LEFT JOIN korrekt, um alle Personen und ihre damit verbundenen Ängste abzurufen?

Susan Sarandon
Freigeben: 2024-12-21 12:09:11
Original
650 Leute haben es durchsucht

How to Correctly Join Three Tables in MySQL Using LEFT JOIN to Retrieve All Persons and Their Associated Fears?

Mehrere Tabellenverknüpfung mit MySQL LEFT JOIN

In diesem Szenario stehen wir vor der Herausforderung, drei Tabellen zu verknüpfen: 'Personen' , 'Ängste' und 'Person_Angst'. Das Ziel besteht darin, alle Datensätze aus der Tabelle „Personen“ zusammen mit allen zugehörigen Ängsten anzuzeigen, auch wenn einige Personen keine Ängste haben.

Zunächst versucht die bereitgestellte LEFT JOIN-Abfrage, „Person_Fear.PersonID“ mit „ Person_Fear.FearID‘, was zu falschen Ergebnissen führt. Der richtige Ansatz besteht darin, 'Person_Fear' mit 'Persons' und 'Fears' basierend auf den richtigen Fremdschlüsselbeziehungen zu verbinden.

Lösung:

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
Nach dem Login kopieren

Diese überarbeitete Abfrage verknüpft effektiv „Personen“. 'Person_Fear' und 'Fears' über ihre jeweiligen Fremdschlüssel. Der LEFT JOIN zwischen „Persons“ und „Person_Fear“ stellt sicher, dass alle Datensätze aus der Tabelle „Persons“ einbezogen werden, unabhängig davon, ob mit ihnen Ängste verbunden sind.

Alternative Lösung:

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
Nach dem Login kopieren

Dieser alternative Ansatz nutzt einen INNER JOIN zwischen „Person_Fear“ und „Fears“, um nach den relevanten Ängsten zu filtern. Der anschließende LEFT JOIN mit „Persons“ sorgt weiterhin dafür, dass alle Personen in die Ergebnisse einbezogen werden.

Das obige ist der detaillierte Inhalt vonWie verbinde ich drei Tabellen in MySQL mithilfe von LEFT JOIN korrekt, um alle Personen und ihre damit verbundenen Ängste abzurufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage