Encore un peu de pratique avec les jointures
Vous pouvez réutiliser la requête select que vous avez créée dans l’exercice précédent. Cependant,
ajoutons une petite variante : ne renvoyons que quelques colonnes et utilisons l’autre table dans une
clause group_by().
Cet exercice fait partie du cours
Introduction aux bases de données en Python
Instructions
- Construisez une instruction pour sélectionner :
- La colonne
statede la tablecensus. - La somme de la colonne
pop2008de la tablecensus. - La colonne
census_division_namede la tablestate_fact.
- La colonne
- Ajoutez
.select_from()àstmtafin de joindre les tablescensusetstate_factsur les colonnesstateetname. - Regroupez l’instruction par la colonne
namede la tablestate_fact. - Exécutez l’instruction
stmt_groupedpour récupérer tous les enregistrements et enregistrez le résultat dansresults. - Soumettez la réponse pour itérer sur l’objet
resultset afficher chaque enregistrement.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# 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)