Middle
V čom sa líši JOIN, LEFT JOIN a RIGHT JOIN?
sobes.tech AI
Odpoveď od AI
JOIN je operácia v SQL, ktorá spája riadky z dvoch tabuliek na základe podmienky zhodnosti hodnôt v určených stĺpcoch.
- JOIN (alebo INNER JOIN) vráti iba tie riadky, ktoré majú zhodu v oboch tabuľkách.
- LEFT JOIN vráti všetky riadky z ľavej tabuľky a zodpovedajúce riadky z pravej. Ak zhodu nemá, stĺpce pravej tabuľky budú NULL.
- RIGHT JOIN naopak, vráti všetky riadky z pravej tabuľky a zodpovedajúce z ľavej, s NULL tam, kde zhodu nemá.
Príklad:
SELECT * FROM A
JOIN B ON A.id = B.a_id; -- iba zhodné
SELECT * FROM A
LEFT JOIN B ON A.id = B.a_id; -- všetko z A + zhodné z B
SELECT * FROM A
RIGHT JOIN B ON A.id = B.a_id; -- všetko z B + zhodné z A