Memfilter data yang dipilih dari sebuah Table - Expressions
Selain komparator Python standar, kita juga dapat menggunakan metode seperti
in_() untuk membuat klausa where() yang lebih kuat. Anda dapat melihat daftar lengkap
ekspresi di Dokumentasi SQLAlchemy.
Metode in_(), ketika digunakan pada sebuah kolom, memungkinkan kita menyertakan rekaman yang nilai kolomnya berada di antara daftar nilai yang mungkin. Sebagai contoh, where(census.columns.age.in_([20, 30, 40])) hanya akan mengembalikan rekaman untuk orang yang berusia tepat 20, 30, atau 40 tahun.
Dalam latihan ini, Anda akan melanjutkan bekerja dengan tabel census, dan memilih rekaman untuk orang-orang dari tiga negara bagian dengan kepadatan penduduk tertinggi. Daftar negara bagian tersebut sudah disediakan untuk Anda.
Latihan ini adalah bagian dari kursus
Pengantar Basis Data di Python
Petunjuk latihan
- Pilih semua rekaman dari tabel
census. - Ubah argumen pada klausa
whereagar menggunakanin_()untuk mengembalikan semua rekaman di mana nilai pada kolomcensus.columns.stateterdapat dalam daftarstates. - Lakukan perulangan pada ResultProxy
connection.execute(stmt)dan cetak kolomstatedanpop2000dari setiap rekaman.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# Define a list of states for which we want results
states = ['New York', 'California', 'Texas']
# Create a query for the census table: stmt
stmt = select(____)
# Append a where clause to match all the states in_ the list states
stmt = stmt.where(____)
# Loop over the ResultProxy and print the state and its population in 2000
for ____ in connection.execute(____):
print(____, ____)