Middle
Kuo skiriasi LEFT JOIN nuo INNER JOIN?
sobes.tech AI
Atsakymas iš AI
INNER JOIN grąžina tik tas eilutes, kurios turi atitinkančias reikšmes abiejose lentelėse. Jei vienoje iš lentelių nėra atitinkančio įrašo, ta eilutė nebus įtraukta į rezultatą.
LEFT JOIN (arba LEFT OUTER JOIN) grąžina visas kairės lentelės eilutes ir atitinkančias dešinės lentelės eilutes. Jei dešinėje lentelėje nėra atitikmens, rezultatuose dešinės lentelės laukai bus NULL.
Pavyzdys:
SELECT A.id, B.value
FROM A
INNER JOIN B ON A.id = B.a_id;
-- Grąžins tik tuos A id, kurie turi atitinkantį įrašą B
SELECT A.id, B.value
FROM A
LEFT JOIN B ON A.id = B.a_id;
-- Grąžins visus A id, ir tiems, kurie neturi atitikmens B, value bus NULL