CommencerCommencer gratuitement

Filtrer des données sélectionnées depuis une Table - Expressions

En plus des comparateurs Python standard, nous pouvons aussi utiliser des méthodes comme in_() pour créer des clauses where() plus puissantes. Vous trouverez la liste complète des expressions dans la documentation SQLAlchemy.

La méthode in_(), utilisée sur une colonne, permet d’inclure les enregistrements dont la valeur d’une colonne figure dans une liste de valeurs possibles. Par exemple, where(census.columns.age.in_([20, 30, 40])) ne renverra que les enregistrements pour les personnes ayant exactement 20, 30 ou 40 ans.

Dans cet exercice, vous continuez à travailler avec la table census et allez sélectionner les enregistrements correspondant aux personnes des trois États les plus densément peuplés. La liste de ces États a déjà été créée pour vous.

Cet exercice fait partie du cours

Introduction aux bases de données en Python

Afficher le cours

Instructions

  • Sélectionnez tous les enregistrements de la table census.
  • Modifiez l’argument de la clause where pour utiliser in_() et renvoyer tous les enregistrements où la valeur de la colonne census.columns.state figure dans la liste states.
  • Parcourez le ResultProxy connection.execute(stmt) et affichez les colonnes state et pop2000 de chaque enregistrement.

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

# Define a list of states for which we want results
states = ['New York', 'California', 'Texas']

# Create a query for the census table: stmt
stmt = select(____)

# Append a where clause to match all the states in_ the list states
stmt = stmt.where(____)

# Loop over the ResultProxy and print the state and its population in 2000
for ____ in connection.execute(____):
    print(____, ____)
Modifier et exécuter le code