1 Pluspunkt 0 Minuspunkte
Wie funktionieren Joins in MySQL?
von  

1 Antwort

0 Pluspunkte 0 Minuspunkte

Angenommen, Sie haben zwei Tabellen mit jeweils einer einzelnen Spalte. 1 und 2 sind nur in A enthalten, 3 und 4 sind in A und B enthalten und 5 und 6 sind nur in B enthalten.

A    B
-    -
1    3
2    4
3    5
4    6

Ein INNER JOIN ergibt den Schnittpunkt der beiden Tabellen, d. h. die beiden Zeilen, die sie gemeinsam haben.

select * from A INNER JOIN B on A.text = B.text;

a   b
-   -
3   3
4   4

Ein LEFT OUTER JOIN ergibt alle Zeilen in A sowie alle gemeinsamen Zeilen in B.

select * from A LEFT OUTER JOIN B on A.text = B.text;

a   b
-   -
1   null
2   null
3   3
4   4

Ein RIGHT OUTER JOIN ergibt alle Zeilen in B sowie alle gemeinsamen Zeilen in A.

select * from A RIGHT OUTER JOIN B on A.text = B.text;

a     b
-     -
3     3
4     4
null  5
null  6

Ein FULL OUTER JOIN ergibt die Vereinigung von A und B, d. h. aller Zeilen in A und alle Zeilen in B. Wenn etwas in A kein entsprechendes Gegenstück in B hat, dann ist der B-Teil null und umgekehrt umgekehrt.

select * from A FULL OUTER JOIN B on A.text = B.text;

a     b
-     -
1     null
2     null
3     3
4     4
null  6
null  5

Hier ist ein Beispiel auf JSFiddle.

von