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.