JOIN in SQL ist eine Klausel, die verwendet wird, um Zeilen aus zwei oder mehr Tabellen basierend auf einer Spalte mit verwandten Werten zu kombinieren. Ihr Hauptziel ist es, einen einzigen Datensatz mit vollständigen und umfassenden Informationen zu erhalten. „Vollständig“ bezieht sich hier auf die Datenstruktur, die sich aus der Kombination der Spalten aus der Beziehung zwischen den Tabellen ergibt.
Um unterschiedliche Anforderungen an die Datenabfrage zu erfüllen, wird der JOIN-Befehl in verschiedene Typen unterteilt: OUTER JOIN, INNER JOIN, RIGHT JOIN und LEFT JOIN.
Unterschiede zwischen den SQL JOIN-Typen
Im Folgenden finden Sie eine Erklärung der verschiedenen JOIN-Klauseln zusammen mit Syntaxbeispielen, um Ihnen das Verständnis ihrer Unterschiede zu erleichtern:
1. FULL OUTER JOIN
Outer Join (oder Full Outer Join) gibt alle Datensätze oder Zeilen zurück, unabhängig davon, ob sie übereinstimmende Werte haben oder nicht, aus beiden Tabellen, die kombiniert werden. Wenn es keine übereinstimmenden Daten zwischen den beiden Tabellen gibt, wird die fehlende Seite im Join-Ergebnis automatisch mit dem Wert NULL gefüllt.
Syntax:
SQL
SELECT column_name(s)
FROM table1
FULL OUTER JOIN table2
ON table1.column_name = table2.column_name
WHERE condition;
2. LEFT JOIN
Left Join ist eine Operation, die alle Datensätze aus der linken Tabelle (der ersten Tabelle) der beiden kombinierten Tabellen zurückgibt. Alle Daten aus der linken Tabelle bleiben erhalten und werden angezeigt, selbst wenn die Werte in der linken Tabelle mit keinen Daten in der rechten Tabelle (der zweiten Tabelle) übereinstimmen. Daten in der rechten Tabelle ohne Übereinstimmung werden durch NULL ersetzt.
Syntax:
SQL
SELECT column_name(s)
FROM table1
LEFT JOIN table2
ON table1.column_name = table2.column_name;
3. RIGHT JOIN (Ergänzung)
Als Gegenteil des Left Join gibt die Right Join-Klausel alle Datensätze aus der rechten Tabelle (der zweiten Tabelle) zusammen mit übereinstimmenden Daten aus der linken Tabelle zurück. Wenn es keine übereinstimmenden Daten in der linken Tabelle gibt, ist das Ergebnis von der linken Seite NULL.
Syntax:
SQL
SELECT column_name(s)
FROM table1
RIGHT JOIN table2
ON table1.column_name = table2.column_name;
4. INNER JOIN (Ergänzung)
Inner Join ist die am häufigsten verwendete Klausel. Im Gegensatz zu Outer Join arbeitet Inner Join strenger und gibt nur Zeilen zurück, die übereinstimmende Daten (die Schnittmenge) in beiden kombinierten Tabellen haben.
Syntax:
SQL
SELECT column_name(s)
FROM table1
INNER JOIN table2
ON table1.column_name = table2.column_name;






