Sobes.tech
Junior

Un LEFT JOIN peut-il renvoyer plus de lignes que dans la table de gauche (par exemple, 12 au lieu de 10) ?

sobes.tech IA

Réponse de l'IA

Да, 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 строк.