Sobes.tech
Назад к вопросам
Middle
3

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

Компании, где спрашивали
Bell IntegratorBell Integrator

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

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