Junior — Middle
113
Expliquez les différences entre les opérations INNER JOIN et LEFT JOIN en SQL et leur utilisation dans les requêtes.
Entreprises à qui on a demandé
ИнфоТехСервис
ООО УайтСнейк
Réponse de l'IA
sobes.tech IA
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 — когда нужно сохранить все данные из левой таблицы и добавить связанные, если они есть.