SQL-Joins beherrschen: INNER JOIN und OUTER JOIN erklärt
SQL-Joins sind für die Kombination von Daten aus mehreren Datenbanktabellen unerlässlich. Dieser Leitfaden konzentriert sich auf zwei wichtige Join-Typen: INNER JOIN
und OUTER JOIN
und hebt ihre Unterschiede und Anwendungen hervor.
INNER JOIN
:
Ein INNER JOIN
gibt nur die übereinstimmenden Zeilen aus zwei Tabellen basierend auf einer angegebenen Join-Bedingung zurück. Es filtert effektiv alle Zeilen heraus, in denen keine Übereinstimmung in beiden Tabellen gefunden wird. Der Ergebnissatz enthält nur Daten, die in beiden verbundenen Tabellen vorhanden sind.
OUTER JOIN
:
Im Gegensatz zu INNER JOIN
geben OUTER JOIN
s alle Zeilen aus mindestens einer der Tabellen zurück. Dazu gehören Zeilen mit übereinstimmenden Daten in der anderen Tabelle und vor allem Zeilen ohne Übereinstimmung in der anderen Tabelle.
OUTER JOIN
Variationen:
Es gibt mehrere Arten von OUTER JOIN
, jede mit einem bestimmten Zweck:
LEFT OUTER JOIN
(oder LEFT JOIN
): Gibt alle Zeilen aus der linken Tabelle zurück (die vor LEFT JOIN
angegebene Tabelle). Wenn in der rechten Tabelle eine Übereinstimmung vorhanden ist, werden die entsprechenden Daten einbezogen; andernfalls werden NULL
Werte für die rechten Tabellenspalten verwendet.
RIGHT OUTER JOIN
(oder RIGHT JOIN
): Spiegelt LEFT JOIN
, gibt aber alle Zeilen aus der rechten-Tabelle zurück und schließt NULL
-Werte für nicht übereinstimmende Zeilen auf der linken Seite ein Tabelle.
FULL OUTER JOIN
(oder FULL JOIN
): Kombiniert LEFT JOIN
und RIGHT JOIN
. Es werden alle Zeilen aus beiden Tabellen zurückgegeben. NULL
Werte füllen dort aus, wo Übereinstimmungen in einer der Tabellen fehlen.
Anschauliches Beispiel:
Betrachten wir die Tabellen „A“ und „B“:
Table A | Table B |
---|---|
1 | 3 |
2 | 4 |
3 | 5 |
4 | 6 |
INNER JOIN
(A INNER JOIN
B ON
A.a = B.b):
Table A | Table B |
---|---|
3 | 3 |
4 | 4 |
LEFT OUTER JOIN
(A LEFT JOIN
B ON
A.a = B.b):
Table A | Table B |
---|---|
1 | NULL |
2 | NULL |
3 | 3 |
4 | 4 |
RIGHT OUTER JOIN
(a RIGHT JOIN
b ON
a.a = b.b):
Table A | Table B |
---|---|
3 | 3 |
4 | 4 |
NULL | 5 |
NULL | 6 |
FULL OUTER JOIN
(a FULL JOIN
b ON
a.a = b.b):
Table A | Table B |
---|---|
1 | NULL |
2 | NULL |
3 | 3 |
4 | 4 |
NULL | 5 |
NULL | 6 |
Durch das Verständnis dieser Join -Typen können Sie Daten in mehreren Tabellen effektiv abfragen und manipulieren und wertvolle Erkenntnisse aus Ihrer Datenbank erhalten.
Das obige ist der detaillierte Inhalt vonWas ist der Unterschied zwischen dem inneren Join und dem äußeren Join in SQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!