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;