CommencezCommencez gratuitement

Filtrer des données sélectionnées d'une table - Expressions

En plus des comparateurs Python standards, on peut 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 de SQLAlchemy.

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

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

Cette activité fait partie du cours

Introduction aux bases de données en Python

Voir le cours

Instructions de l’exercice

  • Sélectionnez tous les enregistrements de la table census.
  • Modifiez l'argument de la clause where pour utiliser in_() afin de retourner tous les enregistrements où la valeur dans la colonne census.columns.state se trouve 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 ce code d’exemple.

# 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