ComenzarEmpieza gratis

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

Ver curso

Instrucciones del ejercicio

  • Construye una sentencia para seleccionar:
    • La columna state de la tabla census.
    • La suma de la columna pop2008 de la tabla census.
    • La columna census_division_name de la tabla state_fact.
  • Añade un .select_from() a stmt para hacer un join entre las tablas census y state_fact por las columnas state y name.
  • Agrupa la sentencia por la columna name de la tabla state_fact.
  • Ejecuta la sentencia stmt_grouped para obtener todos los registros y guárdala como results.
  • Envia la respuesta para iterar sobre el objeto results e 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)
Editar y ejecutar código