Sobes.tech
Junior — Middle

Čime se razlikuje unutrašnje spajanje od desnog spoljnog spajanja u SQL?

sobes.tech АИ

Одговор од АИ

U SQL-u, unutrašnje spajanje (INNER JOIN) i desno spoljašnje spajanje (RIGHT OUTER JOIN) razlikuju se u tome koje redove iz tabela uključuju u rezultat.

  • INNER JOIN vraća samo one redove koji imaju podudarnosti u obe tabele prema uslovu spajanja.

  • RIGHT OUTER JOIN vraća sve redove iz desne tabele i odgovarajuće redove iz leve tabele. Ako za red iz desne tabele nema podudarnosti u levoj, polja leve tabele biće NULL.

Primer:

SELECT * FROM A INNER JOIN B ON A.id = B.a_id;
-- Vraća samo redove gde A.id odgovara B.a_id

SELECT * FROM A RIGHT OUTER JOIN B ON A.id = B.a_id;
-- Vraća sve redove iz B, čak i ako nemaju podudarnost u A