Sobes.tech
Junior — Middle

Kā atšķiras INNER JOIN un OUTER JOIN izmantošana SQL, savienojot tabulas?

sobes.tech AI

Atbilde no AI

INNER JOIN atgriež tikai tās rindas, kurām ir atbilstība abās tabulās saskaņā ar savienošanas nosacījumu. Ja vienā no tabulām nav atbilstoša ieraksta, šī rinda netiks iekļauta rezultātā.

OUTER JOIN (LEFT, RIGHT vai FULL) atgriež visas rindas no viena vai abām tabulām, ieskaitot tās, kurām nav atbilstības. Šādos gadījumos trūkstošās vērtības aizpildās ar NULL.

Piemērs:

-- INNER JOIN: tikai atbilstoši ieraksti
SELECT * FROM users INNER JOIN orders ON users.id = orders.user_id;

-- LEFT OUTER JOIN: visi lietotāji, pat tie, kuriem nav pasūtījumu
SELECT * FROM users LEFT JOIN orders ON users.id = orders.user_id;