Filtrar dados selecionados de uma tabela - Expressões
Além dos comparadores padrão do Python, também podemos usar métodos como
in_() para criar cláusulas where() mais poderosas. Você pode ver uma lista completa de
expressões na Documentação do SQLAlchemy.
O método in_(), quando usado em uma coluna, permite incluir registros em que o valor de uma coluna esteja entre uma lista de valores possíveis. Por exemplo, where(census.columns.age.in_([20, 30, 40])) retornará apenas os registros de pessoas com exatamente 20, 30 ou 40 anos.
Neste exercício, você continuará trabalhando com a tabela census e selecionará os registros de pessoas dos três estados mais densamente povoados. A lista desses estados já foi criada para você.
Este exercício faz parte do curso
Introdução a Bancos de Dados em Python
Instruções do exercício
- Selecione todos os registros da tabela
census. - Modifique o argumento da cláusula
wherepara usarin_()e retornar todos os registros em que o valor na colunacensus.columns.stateesteja na listastates. - Percorra o ResultProxy
connection.execute(stmt)e imprima as colunasstateepop2000de cada registro.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# 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(____, ____)