Sobes.tech
Junior — Middle

Magyarázza el az INNER JOIN és OUTER JOIN közötti különbséget SQL-ben, és hogy melyik melyik helyzetben használatos.

sobes.tech MI

Válasz az MI-től

INNER JOIN csak azokat a sorokat adja vissza, amelyek megfelelnek mindkét táblában a csatlakozási feltétel szerint.

OUTER JOIN minden sort visszaad az egyik táblából és a másik táblában a megfelelő sorokat. Ha nincs megfelelés, akkor a hiányzó adatok helyén NULL lesz.

OUTER JOIN típusok:

  • LEFT OUTER JOIN — a bal oldali tábla összes sora + a megfelelő jobb oldali sorok.
  • RIGHT OUTER JOIN — a jobb oldali tábla összes sora + a megfelelő bal oldali sorok.
  • FULL OUTER JOIN — mindkét tábla összes sora, NULL helyeken, ahol nincs megfelelés.

Használati példa:

  • INNER JOIN — amikor csak kapcsolódó adatokra van szükség, például megrendelések meglévő ügyfelekkel.
  • LEFT OUTER JOIN — amikor minden ügyfelet szeretnénk megkapni, beleértve azokat is, akiknek nincs rendelése.

SQL példa:

SELECT customers.name, orders.id
FROM customers
LEFT JOIN orders ON customers.id = orders.customer_id;

Ez a lekérdezés minden ügyfelet és azok rendeléseit adja vissza, ha vannak, különben NULL a rendeléseknél.