Aký je rozdiel medzi LEFT JOIN a INNER JOIN?
sobes.tech AI
Odpoveď od AI
INNER JOIN vracia iba tie riadky, pre ktoré existuje zhoda v oboch spojených tabuľkách.
LEFT JOIN (alebo LEFT OUTER JOIN) vracia všetky riadky z ľavej tabuľky a zodpovedajúce riadky z pravej tabuľky. Ak v pravej tabuľke nie je zhoda, hodnoty NULL sa vrátia pre stĺpce pravej tabuľky.
Príklad:
Predpokladajme, že existujú dve tabuľky: Zamestnanci (id, meno) a Oddelenia (id, názov, vedúci_id).
INNER JOIN Zamestnanci A Oddelenia NA Zamestnanci.id = Oddelenia.vedúci_id
Vráti iba zamestnancov, ktorí sú vedúcimi oddelení.
LEFT JOIN Zamestnanci A Oddelenia NA Zamestnanci.id = Oddelenia.vedúci_id
Vráti všetkých zamestnancov. Pre tých, ktorí sú vedúcimi oddelení, budú tiež zahrnuté údaje o oddelení. Pre zamestnancov, ktorí nimi nie sú, stĺpce z tabuľky Oddelenia budú obsahovať NULL.