Sobes.tech
Back to questions
Junior — Middle
88

Чем отличается использование INNER JOIN от OUTER JOIN в SQL при соединении таблиц?

Companies where asked
СБЕРСБЕР

Answer from AI

sobes.tech 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;