Sobes.tech
Junior — Middle
116

Leg uit wat het verschil is tussen INNER JOIN en LEFT JOIN in SQL en hoe ze in queries worden toegepast.

Bedrijven waar gevraagd werd
ИнфоТехСервис
ООО УайтСнейк

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