Sobes.tech
Back to questions
Middle
4

Чем отличается LEFT JOIN от INNER JOIN?

Companies where asked
Bell IntegratorBell Integrator

Answer from AI

sobes.tech AI

INNER JOIN возвращает только те строки, которые имеют совпадающие значения в обеих таблицах. Если в одной из таблиц нет соответствующей записи, то строка не попадёт в результат.

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

Пример:

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

-- Вернёт только те id из A, у которых есть соответствующая запись в B

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

-- Вернёт все id из A, а для тех, у кого нет соответствия в B, value будет NULL