Sobes.tech
Senior

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.