Middle
Welche Arten von JOINs gibt es in SQL und worin unterscheiden sich LEFT JOIN, RIGHT JOIN und INNER JOIN?
sobes.tech KI
Antwort von AI
In SQL gibt es verschiedene Arten von JOINs, die es ermöglichen, Zeilen aus zwei Tabellen anhand einer bestimmten Bedingung zu verbinden:
- INNER JOIN — gibt nur die Zeilen zurück, bei denen es Übereinstimmungen in beiden Tabellen gibt.
- LEFT JOIN (LEFT OUTER JOIN) — gibt alle Zeilen der linken Tabelle und die entsprechenden Zeilen der rechten Tabelle zurück. Wenn keine Übereinstimmung besteht, sind die Felder der rechten Tabelle NULL.
- RIGHT JOIN (RIGHT OUTER JOIN) — umgekehrt, gibt alle Zeilen der rechten Tabelle und die entsprechenden der linken Tabelle zurück, mit NULL, wo keine Übereinstimmung besteht.
Beispiel:
Tabelle A:
| id | Name |
|---|---|
| 1 | Alice |
| 2 | Bob |
Tabelle B:
| id | Stadt |
|---|---|
| 1 | London |
| 3 | Berlin |
- INNER JOIN nach id gibt nur id=1 zurück (Alice und London).
- LEFT JOIN gibt zurück:
- id=1 (Alice, London)
- id=2 (Bob, NULL)
- RIGHT JOIN gibt zurück:
- id=1 (Alice, London)
- id=3 (NULL, Berlin)
Auf diese Weise behalten LEFT und RIGHT JOIN alle Zeilen einer Tabelle bei und ergänzen sie um Daten der anderen, während INNER JOIN nur die Übereinstimmungen behält.