Sobes.tech
Junior — Middle

Mi a különbség az INNER JOIN és az OUTER JOIN használata között SQL-ben táblák összekapcsolásakor?

sobes.tech MI

Válasz az MI-től

INNER JOIN csak azokat a sorokat adja vissza, amelyek megfelelnek a csatlakozási feltételnek mindkét táblában. Ha az egyik táblában nincs megfelelő rekord, akkor az adott sor nem kerül az eredménybe.

OUTER JOIN (LEFT, RIGHT vagy FULL) minden sort visszaad az egyik vagy mindkét táblából, beleértve azokat is, amelyekhez nincs megfelelés. Ilyen esetekben a hiányzó értékeket NULL értékkel töltjük ki.

Példa:

-- INNER JOIN: csak egyező rekordok
SELECT * FROM users INNER JOIN orders ON users.id = orders.user_id;

-- LEFT OUTER JOIN: minden felhasználó, még azok is, akiknek nincs rendelése
SELECT * FROM users LEFT JOIN orders ON users.id = orders.user_id;