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.