Sobes.tech
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 — когда нужно сохранить все данные из левой таблицы и добавить связанные, если они есть.