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.