Sobes.tech
Junior

Aký je rozdiel medzi LEFT JOIN a RIGHT JOIN?

sobes.tech AI

Odpoveď od AI

LEFT JOIN vyberá všetky riadky z ľavej tabuľky a zodpovedajúce riadky z pravej tabuľky. Ak v pravej tabuľke nie je zhoda, stĺpce pravej tabuľky budú mať hodnotu NULL.

RIGHT JOIN vyberá všetky riadky z pravej tabuľky a zodpovedajúce riadky z ľavej tabuľky. Ak v ľavej tabuľke nie je zhoda, stĺpce ľavej tabuľky budú mať hodnotu NULL.

V skutočnosti je RIGHT JOIN zrkadlovým odrazom LEFT JOIN. Výsledok RIGHT JOIN (tabuľka A JOIN tabuľka B) je identický s výsledkom LEFT JOIN (tabuľka B JOIN tabuľka A) s prehodenými stĺpcami.

Príklad SQL:

-- LEFT JOIN
SELECT *
FROM TabuľkaA
LEFT JOIN TabuľkaB ON TabuľkaA.id = TabuľkaB.id;

-- RIGHT JOIN
SELECT *
FROM TabuľkaA
RIGHT JOIN TabuľkaB ON TabuľkaA.id = TabuľkaB.id;

Vizualizácia:

Typ JOIN Riadky zahrnuté z ľavej tabuľky Riadky zahrnuté z pravej tabuľky
LEFT JOIN Všetky Zodpovedajúce (alebo NULL)
RIGHT JOIN Zodpovedajúce (alebo NULL) Všetky