В приведённом примере LEFT JOIN даст 11 строк: 3 × 3 + 1 + 1. Читатель без книг сохраняется одной строкой с NULL в полях правой таблицы.
Та же ситуация, но теперь LEFT JOIN с читателями слева. Сколько минимум и максимум записей может вернуться (с уточняющим примером: 3 читателя взяли по 3 книги, 1 взял 1 книгу, 1 не брал вообще)?
В приведённом примере LEFT JOIN даст 11 строк: 3 × 3 + 1 + 1. Читатель без книг сохраняется одной строкой с NULL в полях правой таблицы.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
В приведённом примере LEFT JOIN даст 11 строк: 3 × 3 + 1 + 1. Читатель без книг сохраняется одной строкой с NULL в полях правой таблицы.
Если слева пять читателей и после соединения нет отсекающего WHERE, минимум — пять строк. Для каждого читателя вклад равен максимуму из единицы и числа совпадений справа. Общий максимум без ограничений на количество книг назвать нельзя. Если справа всего M строк и каждая относится к одному читателю, при M > 0 возможен максимум M + 4. Условие на правые поля в WHERE может изменить результат и убрать читателя без книг.