Junior — Middle
Czy możesz wyjaśnić różnice między wewnętrznym połączeniem a lewym połączeniem w SQL?
sobes.tech AI
Odpowiedź od AI
Inner Join (INNER JOIN) zwraca tylko te wiersze, które mają dopasowania w obu tabelach zgodnie z warunkiem łączenia. Jeśli w jednej z tabel nie ma odpowiedniego wpisu, taki wiersz nie pojawi się w wyniku.
Left Join (LEFT JOIN) zwraca wszystkie wiersze z lewej tabeli oraz odpowiadające im wiersze z prawej tabeli. Jeśli nie ma dopasowania, wartości z prawej tabeli będą NULL.
Przykład:
SELECT a.id, a.name, b.order_id
FROM customers a
INNER JOIN orders b ON a.id = b.customer_id;
Zwróci tylko klientów, którzy mają zamówienia.
SELECT a.id, a.name, b.order_id
FROM customers a
LEFT JOIN orders b ON a.id = b.customer_id;
Zwróci wszystkich klientów, w tym tych bez zamówień (w tym przypadku order_id będzie NULL).