При равенстве даты транзакции date_start попадут только операции ровно на начало версии клиента. Остальные даты внутри периода этой версии не совпадут.
Если джойнить транзакции с клиентами по client_id и date_start (без BETWEEN), что подхватится в результате?
При равенстве даты транзакции date_start попадут только операции ровно на начало версии клиента. Остальные даты внутри периода этой версии не совпадут.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
При равенстве даты транзакции date_start попадут только операции ровно на начало версии клиента. Остальные даты внутри периода этой версии не совпадут.
Для исторического справочника обычно нужен интервальный join: равный client_id и transaction_date >= date_start, а также transaction_date < date_end либо открытый конец. Полуоткрытые интервалы избегают двойного совпадения на границе. Без точного ON нельзя перечислить строки, но равенство по дате не заменяет проверку вхождения в период.