Sobes.tech
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