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