Back to questions
Junior — Middle
65
Объясните различия между типами соединений в SQL: LEFT JOIN, RIGHT JOIN и INNER JOIN
Answer from AI
sobes.tech AI
INNER JOIN возвращает только те строки, которые совпадают по условию соединения в обеих таблицах.
LEFT JOIN возвращает все строки из левой таблицы и соответствующие строки из правой. Если в правой таблице нет совпадений, то поля правой таблицы будут заполнены NULL.
RIGHT JOIN — наоборот, возвращает все строки из правой таблицы и соответствующие из левой, с NULL там, где нет совпадений.
Пример:
SELECT * FROM A
INNER JOIN B ON A.id = B.a_id; -- только совпадающие
SELECT * FROM A
LEFT JOIN B ON A.id = B.a_id; -- все из A + совпадения из B
SELECT * FROM A
RIGHT JOIN B ON A.id = B.a_id; -- все из B + совпадения из A