Sobes.tech
Junior — Middle

Ar galite paaiškinti skirtingų tipų jungčių SQL lentelėse skirtumus?

sobes.tech AI

Atsakymas iš AI

SQL yra keli pagrindiniai jungčių (JOIN) tipai, leidžiantys sujungti duomenis iš dviejų ar daugiau lentelių:

  • INNER JOIN — grąžina tik tas eilutes, kuriose yra atitikimas abiejose lentelėse pagal sąlygą.
  • LEFT JOIN (LEFT OUTER JOIN) — grąžina visas kairės lentelės eilutes ir atitinkančias dešinės lentelės eilutes; jei atitikimo nėra, dešinės lentelės reikšmės bus NULL.
  • RIGHT JOIN (RIGHT OUTER JOIN) — grąžina visas dešinės lentelės eilutes ir atitinkančias kairės lentelės eilutes.
  • FULL JOIN (FULL OUTER JOIN) — grąžina visas abiejų lentelių eilutes, užpildydamas NULL ten, kur nėra atitikimo.
  • CROSS JOIN — dviejų lentelių kartesijinis sandaugos, grąžina visas galimas eilutų kombinacijas.

INNER JOIN pavyzdys:

SELECT employees.name, departments.name
FROM employees
INNER JOIN departments ON employees.department_id = departments.id;

Šis užklausa grąžins darbuotojų vardus ir jų padalinių pavadinimus tik tiems darbuotojams, kurie turi padalinį.