Sobes.tech
Junior — Middle

Czym różni się użycie INNER JOIN od OUTER JOIN w SQL podczas łączenia tabel?

sobes.tech AI

Odpowiedź od AI

INNER JOIN zwraca tylko te wiersze, które mają dopasowania w obu tabelach zgodnie z warunkiem połączenia. Jeśli w jednej z tabel nie ma odpowiedniego wpisu, wiersz nie pojawi się w wyniku.

OUTER JOIN (LEFT, RIGHT lub FULL) zwraca wszystkie wiersze z jednej lub obu tabel, w tym te bez dopasowania. W takich przypadkach brakujące wartości są wypełniane NULL.

Przykład:

-- INNER JOIN: tylko dopasowane wpisy
SELECT * FROM users INNER JOIN orders ON users.id = orders.user_id;

-- LEFT OUTER JOIN: wszyscy użytkownicy, nawet ci bez zamówień
SELECT * FROM users LEFT JOIN orders ON users.id = orders.user_id;