Jak pracujesz z SQL? Czym różnią się INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL OUTER JOIN?
sobes.tech AI
Odpowiedź od AI
JOIN SQL — to operacja łączenia danych z dwóch tabel na podstawie powiązanego pola. Różnice między typami JOIN:
-
INNER JOIN — zwraca tylko te rekordy, które mają dopasowania w obu tabelach.
-
LEFT JOIN (LEFT OUTER JOIN) — zwraca wszystkie rekordy z lewej tabeli i dopasowane z prawej; jeśli dopasowania nie ma, w prawej części będą NULL.
-
RIGHT JOIN (RIGHT OUTER JOIN) — odwrotnie, zwraca wszystkie rekordy z prawej tabeli i dopasowane z lewej; jeśli dopasowania nie ma, w lewej części będą NULL.
-
FULL OUTER JOIN — zwraca wszystkie rekordy z obu tabel; jeśli dopasowania nie ma, w odpowiednich częściach będą NULL.
Przykład:
SELECT A.id, A.name, B.order_date
FROM Customers A
LEFT JOIN Orders B ON A.id = B.customer_id;
Ta kwerenda zwróci wszystkich klientów z ich zamówieniami, jeśli istnieją, lub NULL w polu order_date, jeśli zamówień nie ma.