Junior — Middle
Magyarázza el a belső és külső összekapcsolás közötti különbségeket SQL-ben.
sobes.tech MI
Válasz az MI-től
SQL-ben a belső (INNER JOIN) és külső (OUTER JOIN) összekapcsolások két tábla sorainak összekapcsolására szolgálnak, de különböznek abban, hogyan választják ki a sorokat:
-
Belső összekapcsolás (INNER JOIN) csak azokat a sorokat adja vissza, amelyek megfelelnek mindkét táblában a csatlakozási feltételnek.
-
Külső összekapcsolás (OUTER JOIN) minden sort visszaad az egyik táblából és a hozzá tartozókat a másikból. Ha nincs megfelelés, a hiányzó helyeken NULL lesz.
A külső összekapcsolások három típusa van:
- LEFT OUTER JOIN — a bal oldali tábla összes sora + a megfelelők a jobbról
- RIGHT OUTER JOIN — a jobb oldali tábla összes sora + a megfelelők a balról
- FULL OUTER JOIN — mindkét tábla összes sora, ahol nincs megfelelés, NULL lesz
Példa:
SELECT * FROM users INNER JOIN orders ON users.id = orders.user_id;
-- Csak azok a felhasználók, akik rendelésekkel rendelkeznek
SELECT * FROM users LEFT JOIN orders ON users.id = orders.user_id;
-- Minden felhasználót visszaad, még akkor is, ha nincs rendelése (orders NULL lesz)