Sobes.tech
Middle

Kāda ir atšķirība starp LEFT JOIN un INNER JOIN?

sobes.tech AI

Atbilde no AI

INNER JOIN atgriež tikai tās rindas, kurās ir atbilstošas vērtības abās tabulās. Ja vienā no tabulām nav atbilstoša ieraksta, šī rinda netiks iekļauta rezultātā.

LEFT JOIN (vai LEFT OUTER JOIN) atgriež visas kreisās tabulas rindas un atbilstošās labās tabulas rindas. Ja labajā tabulā nav atbilstības, rezultātā labās tabulas lauki būs NULL.

Piemērs:

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

-- Atgriež tikai A id, kuriem ir atbilstošs ieraksts B

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

-- Atgriež visus A id, un tiem, kuriem nav atbilstības B, value būs NULL