Sobes.tech
Junior — Middle

V čom spočíva rozdiel medzi vnútorným spojením a pravým vonkajším spojením v SQL?

sobes.tech AI

Odpoveď od AI

V SQL-u se razlikuje vnútorné spojenie (INNER JOIN) a pravé vonkajšie spojenie (RIGHT OUTER JOIN) v tom, ktoré riadky z tabuliek sú zahrnuté do výsledku.

  • INNER JOIN vracia iba tie riadky, ktoré majú zhody v oboch tabuľkách podľa podmienky spojenia.

  • RIGHT OUTER JOIN vracia všetky riadky z pravej tabuľky a zodpovedajúce riadky z ľavej tabuľky. Ak pre riadok z pravej tabuľky neexistuje zhoda v ľavej, polia ľavej tabuľky budú NULL.

Príklad:

SELECT * FROM A INNER JOIN B ON A.id = B.a_id;
-- Vráti iba riadky, kde A.id zodpovedá B.a_id

SELECT * FROM A RIGHT OUTER JOIN B ON A.id = B.a_id;
-- Vráti všetky riadky z B, aj keď nemajú zhodu v A