Sobes.tech
Назад к вопросам
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 с совпадениями

Таким образом, количество строк зависит от совпадений по условию соединения.