Какое минимальное и максимальное количество строк вернет запрос SELECT * FROM A LEFT JOIN B?

Запрос SELECT FROM A LEFT JOIN B возвращает все строки из таблицы A и соответствующие строки из таблицы B. Если для строки из A нет соответствующей строки в B, то поля из B будут заполнены NULL.

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

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

Запрос SELECT FROM A LEFT JOIN B возвращает все строки из таблицы A и соответствующие строки из таблицы B. Если для строки из A нет соответствующей строки в B, то поля из B будут заполнены NULL.

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

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

Запрос SELECT * FROM A LEFT JOIN B возвращает все строки из таблицы A и соответствующие строки из таблицы B. Если для строки из A нет соответствующей строки в B, то поля из B будут заполнены NULL.

  • Минимальное количество строк: 0, если таблица A пуста.
  • Максимальное количество строк: количество строк в таблице A, умноженное на количество соответствующих строк в B для каждой строки A, но так как LEFT JOIN не дублирует строки из A без соответствий, максимальное количество строк равно количеству строк в A, если нет множественных совпадений в B.

На практике, если для каждой строки A есть несколько совпадений в B, то количество строк будет равно сумме всех таких совпадений. Если совпадений нет, то количество строк равно количеству строк в A.

Пример:

A.id B.a_id
1 1
1 1
2 NULL

Здесь для A.id=1 есть 2 совпадения в B, для A.id=2 нет совпадений, поэтому всего 3 строки.

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

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

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

Подробнее