Back to questions
Junior — Middle
101
Объясните различия между операциями соединения LEFT JOIN, RIGHT JOIN и INNER JOIN в SQL.
Answer from AI
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 — все из правой + совпадения слева.