Без ограничений уникальности INNER JOIN даст от 0 до 50 строк, LEFT JOIN — от 10 до 50. Максимум достигается, если все ID обеих таблиц одинаковы.
Есть таблица T1 (10 строк) и таблица T2 (5 строк), обе с полем ID. Сколько строк может быть максимум и минимум на выходе при INNER JOIN и LEFT JOIN этих таблиц?
Без ограничений уникальности INNER JOIN даст от 0 до 50 строк, LEFT JOIN — от 10 до 50. Максимум достигается, если все ID обеих таблиц одинаковы.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Без ограничений уникальности INNER JOIN даст от 0 до 50 строк, LEFT JOIN — от 10 до 50. Максимум достигается, если все ID обеих таблиц одинаковы.
Предполагается, что T1 — левая таблица и условие соединения T1.ID = T2.ID. При отсутствии совпадений INNER пуст, а LEFT сохраняет десять строк T1 с NULL справа.
Если один и тот же ID повторён десять раз слева и пять справа, получится 10 × 5 = 50 сочетаний. При уникальных ID в обеих таблицах границы иные: INNER от 0 до 5, LEFT ровно 10. Поэтому вопрос о ключах принципиален.