Filtra i dati selezionati da una Tabella - Espressioni
Oltre ai confronti standard di Python, possiamo usare anche metodi come
in_() per creare clausole where() più potenti. Puoi trovare l'elenco completo delle
espressioni nella Documentazione di SQLAlchemy.
Il metodo in_(), quando usato su una colonna, ci permette di includere i record in cui il valore di una colonna è tra un insieme di valori possibili. Per esempio, where(census.columns.age.in_([20, 30, 40])) restituirà solo i record delle persone che hanno esattamente 20, 30 o 40 anni.
In questo esercizio continuerai a lavorare con la tabella census e selezionerai i record delle persone provenienti dai tre stati più densamente popolati. L'elenco di questi stati è già stato creato per te.
Questo esercizio fa parte del corso
Introduzione ai database in Python
Istruzioni dell'esercizio
- Seleziona tutti i record dalla tabella
census. - Modifica l'argomento della clausola
whereper usarein_()e restituire tutti i record in cui il valore nella colonnacensus.columns.stateè presente nella listastates. - Esegui un ciclo sul ResultProxy
connection.execute(stmt)e stampa le colonnestateepop2000di ogni record.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# 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(____, ____)