Sobes.tech
Middle

Kaip dirbi su SQL? Kuo skiriasi INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL OUTER JOIN?

sobes.tech AI

Atsakymas iš AI

SQL JOIN — tai operacija, kuria sujungiami duomenys iš dviejų lentelių pagal susietą lauką. Skirtumai tarp JOIN tipų:

  • INNER JOIN — grąžina tik tas įrašus, kurie turi atitikmenis abiejose lentelėse.

  • LEFT JOIN (LEFT OUTER JOIN) — grąžina visus įrašus iš kairės lentelės ir atitinkančius iš dešinės; jei atitikmenų nėra, dešinėje bus NULL.

  • RIGHT JOIN (RIGHT OUTER JOIN) — atvirkščiai, grąžina visus įrašus iš dešinės lentelės ir atitinkančius iš kairės; jei atitikmenų nėra, kairėje bus NULL.

  • FULL OUTER JOIN — grąžina visus įrašus iš abiejų lentelių; jei atitikmenų nėra, atitinkamuose laukuose bus NULL.

Pavyzdys:

SELECT A.id, A.name, B.order_date
FROM Customers A
LEFT JOIN Orders B ON A.id = B.customer_id;

Šis užklausa grąžins visus klientus su jų užsakymais, jei jie yra, arba NULL order_date lauke, jei užsakymų nėra.