Sobes.tech
Junior — Middle

Was ist der Unterschied zwischen einem INNER JOIN und einem RIGHT OUTER JOIN in SQL?

sobes.tech KI

Antwort von AI

In SQL unterscheiden sich INNER JOIN und RIGHT OUTER JOIN darin, welche Zeilen aus den Tabellen in das Ergebnis aufgenommen werden.

  • INNER JOIN gibt nur die Zeilen zurück, bei denen es Übereinstimmungen in beiden Tabellen gemäß der Join-Bedingung gibt.

  • RIGHT OUTER JOIN gibt alle Zeilen aus der rechten Tabelle und die entsprechenden Zeilen aus der linken Tabelle zurück. Wenn für eine Zeile aus der rechten Tabelle keine Übereinstimmung in der linken Tabelle besteht, werden die Felder der linken Tabelle mit NULL gefüllt.

Beispiel:

SELECT * FROM A INNER JOIN B ON A.id = B.a_id;
-- Gibt nur die Zeilen zurück, bei denen A.id mit B.a_id übereinstimmt

SELECT * FROM A RIGHT OUTER JOIN B ON A.id = B.a_id;
-- Gibt alle Zeilen aus B zurück, auch wenn keine Übereinstimmung in A besteht