НачатьНачать бесплатно

Корреляционные обновления

Записи можно также обновлять с помощью данных из выражения select. Такой подход называется корреляционным обновлением. Он работает следующим образом: вы определяете выражение select, которое возвращает нужное значение, а затем присваиваете это выражение в качестве значения в update.

В этом упражнении целевой таблицей для корреляционного обновления будет flat_census. Таблица flat_census — это сводная копия таблицы census, которая содержит, в частности, столбец fips_state.

Это упражнение является частью курса

Введение в базы данных на Python

Посмотреть курс

Инструкции к упражнению

  • Постройте запрос для выбора столбца name из таблицы state_fact. Сохраните этот запрос в переменную fips_stmt.
  • Добавьте к fips_stmt условие where, которое сопоставляет fips_state из таблицы state_fact с fips_code из таблицы flat_census.
  • Постройте выражение обновления, которое устанавливает значение state_name в таблице flat_census равным fips_stmt. Сохраните это выражение в переменную update_stmt.
  • Отправьте ответ, чтобы выполнить update_stmt, сохраните результат в results и выведите значение rowcount для results.

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

# Build a statement to select name from state_fact: fips_stmt
fips_stmt = select([____])

# Append a where clause to match the fips_state to flat_census fips_code: fips_stmt
fips_stmt = fips_stmt.____(
    ____ == ____)

# Build an update statement to set the name to fips_stmt_where: update_stmt
update_stmt = update(____).values(____=____)

# Execute update_stmt: results
results = connection.execute(update_stmt)

# Print rowcount
print(results.rowcount)
Редактировать и запускать код