Sobes.tech
Middle

Kuo skiriasi LEFT JOIN nuo INNER JOIN?

sobes.tech AI

Atsakymas iš AI

LEFT JOIN ir INNER JOIN yra tipai jungčių SQL, kurie skiriasi pagal tai, kaip pasirenkami įrašai:

  • INNER JOIN grąžina tik tuos įrašus, kurie atitinka abiejose lentelėse pagal jungimo sąlygą.
  • LEFT JOIN grąžina visus įrašus iš kairės lentelės ir atitinkančius įrašus iš dešinės. Jei atitikimo nėra, dešinės lentelės stulpeliai bus NULL.

Pavyzdys:

SELECT a.id, b.value
FROM table_a a
INNER JOIN table_b b ON a.id = b.a_id;

SELECT a.id, b.value
FROM table_a a
LEFT JOIN table_b b ON a.id = b.a_id;

Pirmuoju atveju rodomi tik tie įrašai, kurie turi atitikimą abiejose lentelėse. Antruoju atveju, rodomi visi įrašai iš table_a, net jei neturi atitinkančių įrašų iš table_b.