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