Назад к вопросам
СБЕР
Senior
3
Сколько строк вернут LEFT JOIN, RIGHT JOIN и INNER JOIN для таблиц из 3 и 5 строк?
Компании, где спрашивали
Ответ от нейросети
sobes.tech AI
Рассмотрим две таблицы: первая с 3 строками, вторая с 5 строками.
-
INNER JOIN вернёт только те строки, у которых есть совпадения по условию соединения. Максимум — количество совпадающих пар. Без конкретного условия нельзя точно сказать, но обычно это ≤ min(3,5).
-
LEFT JOIN вернёт все 3 строки из левой таблицы, дополненные совпадающими строками из правой. Если совпадений нет, то поля правой таблицы будут NULL. Количество строк будет не меньше 3.
-
RIGHT JOIN вернёт все 5 строк из правой таблицы, дополненные совпадающими строками из левой. Если совпадений нет, поля левой таблицы будут NULL. Количество строк будет не меньше 5.
Пример:
-- Таблица A (3 строки): 1,2,3
-- Таблица B (5 строк): 2,3,4,5,6
SELECT * FROM A INNER JOIN B ON A.id = B.id; -- вернёт строки с id 2 и 3 (2 строки)
SELECT * FROM A LEFT JOIN B ON A.id = B.id; -- вернёт 3 строки: для id 1 с NULL справа, для 2 и 3 с совпадениями
SELECT * FROM A RIGHT JOIN B ON A.id = B.id; -- вернёт 5 строк: для 4,5,6 с NULL слева, для 2 и 3 с совпадениями
Таким образом, количество строк зависит от совпадений по условию соединения.