Sobes.tech
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