Sobes.tech
Junior — Middle

Jaka jest różnica między LEFT JOIN a RIGHT JOIN w SQL i w jakich przypadkach ich używać?

sobes.tech AI

Odpowiedź od AI

LEFT JOIN zwraca wszystkie wiersze z lewej tabeli i odpowiadające im wiersze z prawej tabeli. Jeśli w prawej tabeli nie ma dopasowań, wynik zawiera NULL dla jej kolumn.

RIGHT JOIN odwrotnie zwraca wszystkie wiersze z prawej tabeli i odpowiadające z lewej, z NULL tam, gdzie nie ma dopasowań.

Używa się LEFT JOIN, gdy chcesz uzyskać wszystkie dane z głównej (lewej) tabeli i uzupełnić je danymi z powiązanej, a RIGHT JOIN — gdy główna tabela jest po prawej stronie.

Przykład:

SELECT a.id, b.value
FROM A a
LEFT JOIN B b ON a.id = b.a_id;

Tutaj będą wszystkie wpisy z A, nawet jeśli nie mają dopasowań w B.