Junior — Middle
Vysvetlite rozdiel medzi INNER JOIN a OUTER JOIN v SQL a v akých situáciách sa každý z nich používa.
sobes.tech AI
Odpoveď od AI
INNER JOIN vráti iba tie riadky, ktoré majú zhody v oboch tabuľkách podľa podmienky spojenia.
OUTER JOIN vráti všetky riadky z jednej tabuľky a zodpovedajúce riadky z druhej. Ak zhody nie sú, na miestach bez dát budú NULL.
Typy OUTER JOIN:
- LEFT OUTER JOIN — všetky riadky z ľavej tabuľky + zodpovedajúce z pravej.
- RIGHT OUTER JOIN — všetky riadky z pravej tabuľky + zodpovedajúce z ľavej.
- FULL OUTER JOIN — všetky riadky oboch tabuliek, s NULL tam, kde nie je zhoda.
Príklad použitia:
- INNER JOIN — keď sú potrebné iba prepojené údaje, napríklad objednávky s existujúcimi zákazníkmi.
- LEFT OUTER JOIN — keď chcete získať všetkých zákazníkov, vrátane tých bez objednávok.
Príklad SQL:
SELECT customers.name, orders.id
FROM customers
LEFT JOIN orders ON customers.id = orders.customer_id;
Tento dotaz vráti všetkých zákazníkov a ich objednávky, ak existujú, inak NULL pre objednávky.