Bir Tablo’dan Seçilen Verileri Filtreleme - İfadeler
Standart Python karşılaştırıcılarına ek olarak, daha güçlü where() koşulları oluşturmak için in_() gibi yöntemleri de kullanabiliriz. İfadelerin tam listesini SQLAlchemy Dokümantasyonu içinde görebilirsin.
Bir sütunda kullanılan in_() yöntemi, o sütunun değerinin olası değerler listesinden biri olduğu kayıtları dahil etmemizi sağlar. Örneğin, where(census.columns.age.in_([20, 30, 40])) ifadesi yalnızca yaşı tam olarak 20, 30 veya 40 olan kişilere ait kayıtları döndürür.
Bu egzersizde census tablosu ile çalışmaya devam edecek ve en yoğun nüfuslu üç eyaletten gelen kişilerin kayıtlarını seçeceksin. Bu eyaletlerin listesi senin için zaten oluşturuldu.
Bu egzersiz, kursun bir parçasıdır
Python ile Veritabanlarına Giriş
Egzersiz talimatları
censustablosundan tüm kayıtları seç.wherekoşulunun argümanını,census.columns.statesütunundaki değerinstateslistesinde olduğu tüm kayıtları döndürecek şekildein_()kullanarak değiştir.- ResultProxy
connection.execute(stmt)üzerinde döngü kur ve her kayıttanstatevepop2000sütunlarını yazdır.
Uygulamalı etkileşimli egzersiz
Bu egzersizi bu örnek kodu tamamlayarak deneyin.
# 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(____, ____)