Más práctica con joins
Puedes usar la misma sentencia select que creaste en el ejercicio anterior; sin embargo, vamos a añadir un giro: devuelve solo algunas columnas y usa la otra tabla en una cláusula group_by().
Este ejercicio forma parte del curso
Introducción a las bases de datos en Python
Instrucciones del ejercicio
- Construye una sentencia para seleccionar:
- La columna
statede la tablacensus. - La suma de la columna
pop2008de la tablacensus. - La columna
census_division_namede la tablastate_fact.
- La columna
- Añade un
.select_from()astmtpara hacer un join entre las tablascensusystate_factpor las columnasstateyname. - Agrupa la sentencia por la columna
namede la tablastate_fact. - Ejecuta la sentencia
stmt_groupedpara obtener todos los registros y guárdala comoresults. - Envia la respuesta para iterar sobre el objeto
resultse imprimir cada registro.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
# Build a statement to select the state, sum of 2008 population and census
# division name: stmt
stmt = select([
____,
func.sum(____),
____
])
# Append select_from to join the census and state_fact tables by the census state and state_fact name columns
stmt_joined = stmt.select_from(
census.join(____, census.columns.____ == state_fact.columns.____)
)
# Append a group by for the state_fact name column
stmt_grouped = stmt_joined.group_by(____)
# Execute the statement and get the results: results
results = connection.execute(____).fetchall()
# Loop over the results object and print each record.
for record in results:
print(record)