ComeçarComece de graça

Mais prática com joins

Você pode usar a mesma instrução select que construiu no exercício anterior; porém, vamos fazer diferente: retorne apenas algumas colunas e use a outra tabela em uma cláusula group_by().

Este exercício faz parte do curso

Introdução a Bancos de Dados em Python

Ver curso

Instruções do exercício

  • Construa uma instrução para selecionar:
    • A coluna state da tabela census.
    • A soma da coluna pop2008 da tabela census.
    • A coluna census_division_name da tabela state_fact.
  • Acrescente um .select_from() a stmt para fazer um join entre as tabelas census e state_fact pelas colunas state e name.
  • Faça o agrupamento da instrução pela coluna name da tabela state_fact.
  • Execute a instrução stmt_grouped para obter todos os registros e salve como results.
  • Envie a resposta para iterar sobre o objeto results e imprimir cada registro.

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

# 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 e executar o código