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 |