Sobes.tech
Назад к вопросам
Junior — Middle
102

Объясните различия между операциями соединения LEFT JOIN, RIGHT JOIN и INNER JOIN в SQL.

Ответ от нейросети

sobes.tech AI

В SQL операции JOIN используются для объединения строк из двух таблиц на основе связанного столбца.

  • INNER JOIN возвращает только те строки, у которых есть совпадения в обеих таблицах.

  • LEFT JOIN (или LEFT OUTER JOIN) возвращает все строки из левой таблицы и соответствующие строки из правой таблицы. Если в правой таблице нет совпадения, то поля правой таблицы будут заполнены NULL.

  • RIGHT JOIN (или RIGHT OUTER JOIN) наоборот, возвращает все строки из правой таблицы и соответствующие из левой. Если в левой таблице нет совпадения, поля левой таблицы будут NULL.

Пример:

SELECT A.id, B.value
FROM A
LEFT JOIN B ON A.id = B.a_id;

Этот запрос вернёт все записи из таблицы A, а из B — только совпадающие. Если для записи из A нет соответствия в B, поля B будут NULL.

Таким образом:

  • INNER JOIN — пересечение таблиц по условию.
  • LEFT JOIN — все из левой + совпадения справа.
  • RIGHT JOIN — все из правой + совпадения слева.