Sobes.tech
Назад к вопросам
Junior
13

Может ли LEFT JOIN вернуть больше строк, чем в левой таблице (например, 12 вместо 10)?

Компании, где спрашивали
ИП Ганус Александр Андреевич

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

sobes.tech AI

Да, LEFT JOIN может вернуть больше строк, чем в левой таблице.

Это происходит, если к одной записи из левой таблицы соответствует несколько записей в правой таблице. LEFT JOIN возвращает все строки из левой таблицы и добавляет данные из правой, дублируя строки левой таблицы для каждого совпадения.

Например, если в левой таблице 10 строк, а для одной из них в правой таблице 3 совпадения, то итоговый результат будет содержать 12 строк (9 по одному совпадению и 3 для той, что с несколькими).

Пример:

SELECT a.id, b.value
FROM a
LEFT JOIN b ON a.id = b.a_id;

Если a содержит 10 строк, а для a.id = 5 в b есть 3 строки, то результат будет 12 строк.