Pembaruan berkorelasi
Anda juga dapat memperbarui record menggunakan data dari sebuah pernyataan select. Ini disebut pembaruan berkorelasi (correlated update). Mekanismenya adalah dengan mendefinisikan pernyataan select yang mengembalikan nilai yang ingin Anda gunakan untuk memperbarui record, lalu menetapkan pernyataan select tersebut sebagai nilai dalam update.
Anda akan menggunakan flat_census dalam latihan ini sebagai target pembaruan berkorelasi. Tabel flat_census adalah salinan ringkas dari tabel sensus Anda, dan memuat, khususnya, kolom fips_state.
Latihan ini adalah bagian dari kursus
Pengantar Basis Data di Python
Petunjuk latihan
- Bangun sebuah pernyataan untuk memilih kolom
namedaristate_fact. Simpan pernyataan tersebut sebagaifips_stmt. - Tambahkan klausa where ke
fips_stmtyang mencocokkanfips_statedari tabelstate_factdenganfips_codedi tabelflat_census. - Bangun sebuah pernyataan update untuk menetapkan
state_namediflat_censusmenjadifips_stmt. Simpan pernyataan tersebut sebagaiupdate_stmt. - Kirim jawaban untuk mengeksekusi
update_stmt, simpanresultsdan cetakrowcountdariresults.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# 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)