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