Angenommen, es gibt 2 Tabellen TabelleA und TabelleB mit nur 2 Spalten (ID, Daten) und folgenden Daten:
Tabelle A:
+
| Id | Data |
+
| 1 | DataA11 |
| 1 | DataA12 |
| 1 | DataA13 |
| 2 | DataA21 |
| 3 | DataA31 |
+
Tabelle B:
+
| Id | Data |
+
| 1 | DataB11 |
| 2 | DataB21 |
| 2 | DataB22 |
| 2 | DataB23 |
| 4 | DataB41 |
+
Inner Join on column Id
gibt Spalten aus beiden Tabellen und nur die übereinstimmenden Datensätze zurück:
.
| Id | Data | Id | Data |
:
| 1 | DataA11 | 1 | DataB11 |
:
| 1 | DataA12 | 1 | DataB11 |
:
| 1 | DataA13 | 1 | DataB11 |
:
| 2 | DataA21 | 2 | DataB21 |
:
| 2 | DataA21 | 2 | DataB22 |
:
| 2 | DataA21 | 2 | DataB23 |
'
Left Join (oder Left Outer Join) in der Spalte Id
gibt Spalten sowohl aus den Tabellen als auch übereinstimmende Datensätze mit Datensätzen aus der linken Tabelle zurück (Nullwerte aus der rechten Tabelle):
.
| Id | Data | Id | Data |
:
| 1 | DataA11 | 1 | DataB11 |
:
| 1 | DataA12 | 1 | DataB11 |
:
| 1 | DataA13 | 1 | DataB11 |
:
| 2 | DataA21 | 2 | DataB21 |
:
| 2 | DataA21 | 2 | DataB22 |
:
| 2 | DataA21 | 2 | DataB23 |
:
| 3 | DataA31 | | |
'
Right Join (oder Right Outer Join) in der Spalte Id
gibt Spalten aus beiden Tabellen zurück und vergleicht Datensätze mit Datensätzen aus der rechten Tabelle (Nullwerte aus der linken Tabelle):
┌────┬─────────┬────┬─────────┐
│ Id │ Data │ Id │ Data │
├────┼─────────┼────┼─────────┤
│ 1 │ DataA11 │ 1 │ DataB11 │
│ 1 │ DataA12 │ 1 │ DataB11 │
│ 1 │ DataA13 │ 1 │ DataB11 │
│ 2 │ DataA21 │ 2 │ DataB21 │
│ 2 │ DataA21 │ 2 │ DataB22 │
│ 2 │ DataA21 │ 2 │ DataB23 │
│ │ │ 4 │ DataB41 │
└────┴─────────┴────┴─────────┘
Full Outer Join on-Spalte Id
gibt Spalten sowohl aus den Tabellen als auch übereinstimmende Datensätze mit Datensätzen aus der linken Tabelle (Nullwerte aus der rechten Tabelle) und Datensätzen aus der rechten Tabelle (Nullwerte aus der linken Tabelle) zurück:
╔════╦═════════╦════╦═════════╗
║ Id ║ Data ║ Id ║ Data ║
╠════╬═════════╬════╬═════════╣
║ - ║ ║ ║ ║
║ 1 ║ DataA11 ║ 1 ║ DataB11 ║
║ 1 ║ DataA12 ║ 1 ║ DataB11 ║
║ 1 ║ DataA13 ║ 1 ║ DataB11 ║
║ 2 ║ DataA21 ║ 2 ║ DataB21 ║
║ 2 ║ DataA21 ║ 2 ║ DataB22 ║
║ 2 ║ DataA21 ║ 2 ║ DataB23 ║
║ 3 ║ DataA31 ║ ║ ║
║ ║ ║ 4 ║ DataB41 ║
╚════╩═════════╩════╩═════════╝
Left Semi Join on-Spalte Id
gibt nur Spalten aus der linken Tabelle und übereinstimmende Datensätze nur aus der linken Tabelle zurück:
┌────┬─────────┐
│ Id │ Data │
├────┼─────────┤
│ 1 │ DataA11 │
│ 1 │ DataA12 │
│ 1 │ DataA13 │
│ 2 │ DataA21 │
└────┴─────────┘