Back to questions
Junior — Middle
73
Объясните различия между операциями INNER JOIN и LEFT JOIN в SQL и их применение в запросах.
Companies where asked
ИнфоТехСервис
ООО УайтСнейк
Answer from AI
sobes.tech AI
INNER JOIN возвращает только те строки, у которых есть совпадения в обеих таблицах по условию соединения. Если совпадений нет, строка не попадет в результат.
LEFT JOIN (или LEFT OUTER JOIN) возвращает все строки из левой таблицы и соответствующие строки из правой таблицы. Если совпадений нет, в столбцах правой таблицы будут NULL.
Пример:
SELECT users.id, orders.id
FROM users
INNER JOIN orders ON users.id = orders.user_id;
Вернет только пользователей с заказами.
SELECT users.id, orders.id
FROM users
LEFT JOIN orders ON users.id = orders.user_id;
Вернет всех пользователей, включая тех, у кого нет заказов (в этом случае orders.id будет NULL).
Применение:
- INNER JOIN — когда нужны только связанные данные.
- LEFT JOIN — когда нужно сохранить все данные из левой таблицы и добавить связанные, если они есть.