Sobes.tech
Middle

Čime se razlikuju JOIN, LEFT JOIN i RIGHT JOIN?

sobes.tech АИ

Одговор од АИ

JOIN je operacija u SQL-u koja kombinuje redove iz dve tabele na osnovu uslova da se vrednosti u navedenim kolonama poklapaju.

  • JOIN (ili INNER JOIN) vraća samo one redove koji imaju poklapanja u obe tabele.
  • LEFT JOIN vraća sve redove iz leve tabele i odgovarajuće redove iz desne. Ako nema poklapanja, kolone desne tabele će biti NULL.
  • RIGHT JOIN obrnuto, vraća sve redove iz desne tabele i odgovarajuće iz leve, sa NULL tamo gde nema poklapanja.

Primer:

SELECT * FROM A
JOIN B ON A.id = B.a_id; -- samo poklapajuće

SELECT * FROM A
LEFT JOIN B ON A.id = B.a_id; -- sve iz A + poklapanja iz B

SELECT * FROM A
RIGHT JOIN B ON A.id = B.a_id; -- sve iz B + poklapanja iz A