Junior — Middle
Czym różni się wewnętrzne połączenie od prawego zewnętrznego połączenia w SQL?
sobes.tech AI
Odpowiedź od AI
W SQL, wewnętrzne połączenie (INNER JOIN) i prawe zewnętrzne połączenie (RIGHT OUTER JOIN) różnią się tym, które wiersze z tabel są uwzględniane w wyniku.
-
INNER JOIN zwraca tylko te wiersze, które mają dopasowania w obu tabelach zgodnie z warunkiem połączenia.
-
RIGHT OUTER JOIN zwraca wszystkie wiersze z prawej tabeli i odpowiadające im wiersze z lewej tabeli. Jeśli dla wiersza z prawej tabeli nie ma dopasowania w lewej, pola lewej tabeli będą wypełnione NULL.
Przykład:
SELECT * FROM A INNER JOIN B ON A.id = B.a_id;
-- Zwraca tylko wiersze, gdzie A.id pasuje do B.a_id
SELECT * FROM A RIGHT OUTER JOIN B ON A.id = B.a_id;
-- Zwraca wszystkie wiersze z B, nawet jeśli nie mają dopasowania w A