Welche Arten von JOINs kennst du und worin unterscheiden sie sich?
sobes.tech KI
Antwort von AI
Die wichtigsten Arten von JOINs in SQL und ihre Unterschiede:
-
INNER JOIN — gibt nur die Datensätze zurück, die in beiden Tabellen anhand der Join-Bedingung übereinstimmen.
-
LEFT JOIN (LEFT OUTER JOIN) — gibt alle Datensätze aus der linken Tabelle und die übereinstimmenden aus der rechten Tabelle zurück. Wenn keine Übereinstimmung besteht, sind die Felder der rechten Tabelle NULL.
-
RIGHT JOIN (RIGHT OUTER JOIN) — gibt alle Datensätze aus der rechten Tabelle und die übereinstimmenden aus der linken Tabelle zurück.
-
FULL JOIN (FULL OUTER JOIN) — gibt alle Datensätze aus beiden Tabellen zurück, übereinstimmend und nicht übereinstimmend, mit NULL an den Stellen ohne Daten.
-
CROSS JOIN — kartesisches Produkt zweier Tabellen, das alle möglichen Zeilenkombinationen zurückgibt.
Beispiel:
-- INNER JOIN
SELECT * FROM A INNER JOIN B ON A.id = B.a_id;
-- LEFT JOIN
SELECT * FROM A LEFT JOIN B ON A.id = B.a_id;
-- RIGHT JOIN
SELECT * FROM A RIGHT JOIN B ON A.id = B.a_id;
-- FULL JOIN
SELECT * FROM A FULL JOIN B ON A.id = B.a_id;
-- CROSS JOIN
SELECT * FROM A CROSS JOIN B;
Die Wahl des JOIN hängt davon ab, welche Daten abgerufen werden sollen und wie mit fehlenden Übereinstimmungen umgegangen wird.