У тебя две таблицы, в одной N строк, во второй M. Сколько минимальная и максимальная может получиться строк при inner join и full join этих таблиц?

Без ограничений ключей INNER JOIN даёт от 0 до N×M строк. FULL JOIN — от max(N,M) до max(N×M,N+M), если после соединения нет фильтрации.

Короткий ответ

Что ответить на собеседовании

Без ограничений ключей INNER JOIN даёт от 0 до N×M строк. FULL JOIN — от max(N,M) до max(N×M,N+M), если после соединения нет фильтрации.

Подробный разбор

Ответ с пояснениями

Без ограничений ключей INNER JOIN даёт от 0 до N×M строк. FULL JOIN — от max(N,M) до max(N×M,N+M), если после соединения нет фильтрации.

Каждая совпавшая пара создаёт строку; FULL JOIN дополнительно сохраняет каждую строку, у которой нет пары. Полное совпадение даёт N×M, полное отсутствие совпадений — N+M. Поэтому максимальное число строк FULL JOIN не всегда N×M: две несовпадающие одноэлементные таблицы дадут 2 строки. Минимум достигается, когда строки меньшей стороны покрыты совпадениями без лишнего размножения. Уникальность ключей сужает эти границы.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее