Sobes.tech
Middle

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.