Junior — Middle
118
Explicați diferențele dintre operațiile INNER JOIN și LEFT JOIN în SQL și aplicarea lor în interogări.
Companiile au fost întrebate
ИнфоТехСервис
ООО УайтСнейк
Răspuns de la 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 — когда нужно сохранить все данные из левой таблицы и добавить связанные, если они есть.