Sobes.tech
Junior

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 atbilstība abās apvienotajās tabulās.

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, kolonnās tiek atgriezta vērtība NULL.

Piemērs:

Pieņemsim, ka ir divas tabulas: Darbinieki (id, vārds) un Departamenti (id, nosaukums, vadītāja_id).

INNER JOIN Darbinieki UN Departamenti, SASKAŅA: Darbinieki.id = Departamenti.vadītāja_id

Atgriezīs tikai tos darbiniekus, kuri ir departamentu vadītāji.

LEFT JOIN Darbinieki UN Departamenti, SASKAŅA: Darbinieki.id = Departamenti.vadītāja_id

Atgriezīs visus darbiniekus. Tiem, kuri ir departamentu vadītāji, tiks iekļauti arī departamenta dati. Darbiniekiem, kuri nav vadītāji, kolonnās no Departamenti būs NULL.