Выбор ответа Middle merge, join и concat обновлено
Параметр validate в merge
Вопрос
Что сделает orders.merge(users, on="user_id", validate="many_to_one"), если в users один user_id встречается дважды?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Выбросит MergeError. validate проверяет кратность ключей и падает с MergeError, если правая сторона не уникальна.
Варианты ответа
- Оставит первую запись из дублей
- Выдаст предупреждение и продолжит
- Выбросит
MergeErrorправильный ответ - Проигнорирует проверку для left join
Разбор
validate проверяет кратность ключей и падает с MergeError, если правая сторона не уникальна. Он не чистит дубли и не ограничивается предупреждением, и от how не зависит. Это дешёвая страховка от размножения строк.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.