Heim > Datenbank > MySQL-Tutorial > Wie kann ich drei Tabellen effizient mit LEFT JOIN verbinden, um Personen-Angst-Beziehungen in MySQL abzurufen?

Wie kann ich drei Tabellen effizient mit LEFT JOIN verbinden, um Personen-Angst-Beziehungen in MySQL abzurufen?

Susan Sarandon
Freigeben: 2024-12-27 16:46:18
Original
869 Leute haben es durchsucht

How Can I Efficiently LEFT JOIN Three Tables to Retrieve Person-Fear Relationships in MySQL?

MySQL LEFT JOIN 3 Tabellen für Angst und Personenbeziehungen

In einem Satz von drei relationalen Tabellen kann man eine umfassende Liste von Personen abrufen zusammen mit allen damit verbundenen Ängsten. Dies kann durch eine LEFT JOIN-Abfrage erreicht werden, die die Tabellen „Persons“, „Fears“ und „Person_Fear“ umfasst.

Die Tabelle „Persons“ enthält persönliche Informationen, einschließlich „Name“ und „SS“ (sozial). Sicherheitsnummer), während die Tabelle „Ängste“ potenzielle Ängste auflistet und die Tabelle „Person_Angst“ die Beziehung zwischen Menschen und ihren Ängsten herstellt.

In einem früheren Versuch wurde a Die LEFT JOIN-Abfrage wurde erstellt, es sind jedoch Fehler aufgetreten. Der falsche Code lautete:

SELECT persons.name, 
       persons.ss, 
       fears.fear 
FROM   persons 
       LEFT JOIN fears 
              ON person_fear.personid = person_fear.fearid 
Nach dem Login kopieren

Der Fehler ist darauf zurückzuführen, dass in der Join-Klausel zweimal falsch auf „person_fear“ verwiesen wurde. Stattdessen sollte der Join „Personen“ mit „Person_Fear“ basierend auf ihrer „PersonID“-Spalte und „Person_Fear“ mit „Fears“ mithilfe von „FearID“ verbinden.

Hier ist eine korrigierte LEFT JOIN-Abfrage:

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 LEFT JOIN-Abfrage erstellt eine Liste, die alle Personen enthält, auch solche ohne damit verbundene Ängste. Der Ergebnissatz enthält die Spalten „Name“, „SS“ und „Angst“ für jeden Datensatz.

Alternativ erzielt die folgende LEFT JOIN-Abfrage das gleiche Ergebnis:

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

Durch die effektive Nutzung von LEFT JOINs können Datenbankabfragen umfassende und miteinander verbundene Daten aus mehreren Tabellen abrufen.

Das obige ist der detaillierte Inhalt vonWie kann ich drei Tabellen effizient mit LEFT JOIN verbinden, um Personen-Angst-Beziehungen in MySQL 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