Sobes.tech
Middle

Koja je razlika između LEFT JOIN i INNER JOIN?

sobes.tech АИ

Одговор од АИ

INNER JOIN vraća samo one redove koji imaju odgovarajuće vrednosti u obe tabele. Ako u jednoj od tabela nema odgovarajući zapis, taj red neće biti uključen u rezultat.

LEFT JOIN (ili LEFT OUTER JOIN) vraća sve redove iz leve tabele i odgovarajuće redove iz desne. Ako nema podudaranja u desnoj tabeli, polja te tabele će biti NULL u rezultatu.

Primer:

SELECT A.id, B.value
FROM A
INNER JOIN B ON A.id = B.a_id;

-- Vraća samo one id-ove iz A koji imaju odgovarajući zapis u B

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

-- Vraća sve id-ove iz A, a za one bez podudaranja u B, vrednost će biti NULL