Filtra datos seleccionados de una tabla - Expresiones
Además de los comparadores estándar de Python, también podemos usar métodos como
in_() para crear cláusulas where() más potentes. Puedes ver una lista completa de
expresiones en la documentación de SQLAlchemy.
El método in_(), cuando se usa sobre una columna, nos permite incluir registros en los que el valor de una columna esté entre una lista de valores posibles. Por ejemplo, where(census.columns.age.in_([20, 30, 40])) devolverá solo los registros de personas que tienen exactamente 20, 30 o 40 años.
En este ejercicio, seguirás trabajando con la tabla census y seleccionarás los registros de personas de los tres estados con mayor densidad de población. La lista de esos estados ya se ha creado por ti.
Este ejercicio forma parte del curso
Introducción a las bases de datos en Python
Instrucciones del ejercicio
- Selecciona todos los registros de la tabla
census. - Modifica el argumento de la cláusula
wherepara usarin_()y devolver todos los registros en los que el valor de la columnacensus.columns.stateesté en la listastates. - Recorre el ResultProxy
connection.execute(stmt)e imprime las columnasstateypop2000de cada registro.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
# 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(____, ____)