Junior — Middle
Erklären Sie die Unterschiede zwischen einem INNER JOIN und einem OUTER JOIN in SQL.
sobes.tech KI
Antwort von AI
In SQL werden innere (INNER JOIN) und äußere Verbindungen (OUTER JOIN) verwendet, um Zeilen aus zwei Tabellen zu verbinden, unterscheiden sich jedoch darin, wie sie Zeilen auswählen:
-
Inner Join (INNER JOIN) gibt nur die Zeilen zurück, die in beiden Tabellen Übereinstimmungen haben, basierend auf der Verbindungsklausel.
-
Outer Join (OUTER JOIN) gibt alle Zeilen einer Tabelle und die entsprechenden Zeilen der anderen Tabelle zurück. Wenn keine Übereinstimmung besteht, sind die Stellen ohne Daten NULL.
Es gibt drei Arten von äußeren Verbindungen:
- LEFT OUTER JOIN — alle Zeilen aus der linken Tabelle + die passenden aus der rechten
- RIGHT OUTER JOIN — alle Zeilen aus der rechten Tabelle + die passenden aus der linken
- FULL OUTER JOIN — alle Zeilen beider Tabellen, mit NULL dort, wo keine Übereinstimmungen bestehen
Beispiel:
SELECT * FROM users INNER JOIN orders ON users.id = orders.user_id;
-- Gibt nur Benutzer mit Bestellungen zurück
SELECT * FROM users LEFT JOIN orders ON users.id = orders.user_id;
-- Gibt alle Benutzer zurück, auch wenn sie keine Bestellungen haben (orders werden NULL)