Junior — Middle
Каква е разликата между използването на INNER JOIN и OUTER JOIN в SQL при свързване на таблици?
sobes.tech AI
Отговор от AI
INNER JOIN връща само редовете, които имат съвпадения и в двете таблици според условието за свързване. Ако в една от таблиците няма съответен запис, редът няма да бъде включен в резултата.
OUTER JOIN (LEFT, RIGHT или FULL) връща всички редове от една или и двете таблици, включително тези без съвпадения. В такива случаи липсващите стойности се попълват с NULL.
Пример:
-- INNER JOIN: само съвпадащи записи
SELECT * FROM users INNER JOIN orders ON users.id = orders.user_id;
-- LEFT OUTER JOIN: всички потребители, дори и тези без поръчки
SELECT * FROM users LEFT JOIN orders ON users.id = orders.user_id;