Middle
Kuo skiriasi JOIN, LEFT JOIN ir RIGHT JOIN?
sobes.tech AI
Atsakymas iš AI
JOIN yra SQL operacija, kuri sujungia dviejų lentelių eilutes pagal nurodytų stulpelių atitikimą.
- JOIN (arba INNER JOIN) grąžina tik tas eilutes, kurios turi atitikmenis abiejose lentelėse.
- LEFT JOIN grąžina visas kairės lentelės eilutes ir atitinkančias iš dešinės. Jei atitikmenų nėra, dešinės lentelės stulpeliai bus NULL.
- RIGHT JOIN atvirkščiai, grąžina visas dešinės lentelės eilutes ir atitinkančias iš kairės, su NULL ten, kur nėra atitikmenų.
Pavyzdys:
SELECT * FROM A
JOIN B ON A.id = B.a_id; -- tik atitikmenys
SELECT * FROM A
LEFT JOIN B ON A.id = B.a_id; -- viskas iš A + atitikmenys iš B
SELECT * FROM A
RIGHT JOIN B ON A.id = B.a_id; -- viskas iš B + atitikmenys iš A