Latihan lanjutan dengan join
Anda dapat menggunakan pernyataan select yang sama seperti pada latihan sebelumnya, namun mari kita tambahkan variasi dengan hanya mengembalikan beberapa kolom dan menggunakan tabel lainnya dalam klausa group_by().
Latihan ini adalah bagian dari kursus
Pengantar Basis Data di Python
Petunjuk latihan
- Bangun pernyataan untuk memilih:
- Kolom
statedari tabelcensus. - Jumlah (
sum) dari kolompop2008dari tabelcensus. - Kolom
census_division_namedari tabelstate_fact.
- Kolom
- Tambahkan
.select_from()kestmtuntuk melakukan join tabelcensusdanstate_factberdasarkan kolomstatedanname. - Kelompokkan pernyataan berdasarkan kolom
namedari tabelstate_fact. - Eksekusi pernyataan
stmt_groupeduntuk mengambil semua rekaman dan simpan sebagairesults. - Kirim jawaban dengan melakukan perulangan pada objek
resultsdan cetak setiap rekaman.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# Build a statement to select the state, sum of 2008 population and census
# division name: stmt
stmt = select([
____,
func.sum(____),
____
])
# Append select_from to join the census and state_fact tables by the census state and state_fact name columns
stmt_joined = stmt.select_from(
census.join(____, census.columns.____ == state_fact.columns.____)
)
# Append a group by for the state_fact name column
stmt_grouped = stmt_joined.group_by(____)
# Execute the statement and get the results: results
results = connection.execute(____).fetchall()
# Loop over the results object and print each record.
for record in results:
print(record)