Sobes.tech
Junior — Middle

Kuo skiriasi vidinis sujungimas nuo dešiniojo išorinio sujungimo SQL?

sobes.tech AI

Atsakymas iš AI

SQL, vidinis sujungimas (INNER JOIN) ir dešinioji išorinė jungtis (RIGHT OUTER JOIN) skiriasi tuo, kurios eilutės iš lentelių yra įtraukiamos į rezultatą.

  • INNER JOIN grąžina tik tas eilutes, kurios atitinka abiejose lentelėse pagal jungimo sąlygą.

  • RIGHT OUTER JOIN grąžina visas dešinės lentelės eilutes ir atitinkamas kairės lentelės eilutes. Jei dešinės lentelės eilutė neturi atitikmens kairėje, kairės lentelės laukai bus NULL.

Pavyzdys:

SELECT * FROM A INNER JOIN B ON A.id = B.a_id;
-- Grąžina tik tas eilutes, kur A.id atitinka B.a_id

SELECT * FROM A RIGHT OUTER JOIN B ON A.id = B.a_id;
-- Grąžina visas B eilutes, net jei nėra atitikmens A