CommencerCommencer gratuitement

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

Afficher le cours

Instructions

  • Construisez une instruction pour sélectionner :
    • La colonne state de la table census.
    • La somme de la colonne pop2008 de la table census.
    • La colonne census_division_name de la table state_fact.
  • Ajoutez .select_from() à stmt afin de joindre les tables census et state_fact sur les colonnes state et name.
  • Regroupez l’instruction par la colonne name de la table state_fact.
  • Exécutez l’instruction stmt_grouped pour récupérer tous les enregistrements et enregistrez le résultat dans results.
  • Soumettez la réponse pour itérer sur l’objet results et 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)
Modifier et exécuter le code