Heim >Datenbank >MySQL-Tutorial >Wie kombinieren SQL-Joins Daten aus mehreren Tabellen?
So verknüpfen Sie zwei Tabellen in SQL
In SQL können Sie durch das Verknüpfen von Tabellen Daten aus mehreren Tabellen basierend auf einer gemeinsamen Spalte kombinieren. Sie können verschiedene Arten von Joins verwenden, z. B. Inner Join, Left Join, Right Join und Full Outer Join.
Hier ist ein Beispiel für die Verwendung eines Left Outer Joins zum Abrufen von Daten aus zwei Tabellen, A und B:
Tabellen:
TABLE A | TABLE B | ||
---|---|---|---|
uid | name | uid | address |
1 | test1 | 1 | address1 |
2 | test2 | 2 | address2 |
3 | test3 | 4 | address3 |
4 | test4 |
Abfrage:
SELECT A.uid, A.name, B.address FROM A LEFT JOIN B ON A.uid=B.uid;
Ausgabe:
uid | name | address |
---|---|---|
1 | test1 | address1 |
2 | test2 | address2 |
3 | test3 | NULL |
4 | test4 | address3 |
Wie Sie sehen können, umfasst das Ergebnis alle Zeilen aus Tabelle A und den Matching Zeilen aus Tabelle B. Für die Zeile mit uid=3 in Tabelle A gibt es keine passende Zeile in Tabelle B, daher ist die Adressspalte auf NULL gesetzt.
Um zu verstehen, wie Verknüpfungen funktionieren, ist es hilfreich, sie zu visualisieren der Prozess. Bei einem Left Outer Join werden zuerst die Zeilen aus der linken Tabelle (in diesem Fall A) berücksichtigt. Für jede Zeile in der linken Tabelle wird die Join-Bedingung ausgewertet, um übereinstimmende Zeilen in der rechten Tabelle (in diesem Fall B) zu finden. Wenn eine Übereinstimmung gefunden wird, werden die Daten aus beiden Zeilen in einer einzigen Ergebniszeile zusammengefasst. Wenn keine Übereinstimmung gefunden wird, werden nur die Daten aus der linken Tabelle in die Ergebniszeile aufgenommen, wobei alle fehlenden Spalten aus der rechten Tabelle auf NULL gesetzt werden.
Siehe Bild unter https://www.codeproject .com/KB/database/Visual_SQL_Joins/Visual_SQL_JOINS_V2.png für eine visuelle Darstellung von Joins.
Das obige ist der detaillierte Inhalt vonWie kombinieren SQL-Joins Daten aus mehreren Tabellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!