Filtrer des données sélectionnées depuis une Table - Simple
Après vous être connecté à la base de données, il est temps de vous entraîner à filtrer vos requêtes !
Comme expliqué dans la vidéo, une clause where() sert à filtrer les données qu’une instruction renvoie. Par exemple, pour sélectionner tous les enregistrements de la table census où le sexe est Féminin (ou 'F'), on écrirait :
select([census]).where(census.columns.sex == 'F')
En plus de ==, vous pouvez utiliser pratiquement n’importe quel opérateur de comparaison Python (comme <=, !=, etc.) dans la clause where().
Cet exercice fait partie du cours
Introduction aux bases de données en Python
Instructions
- Sélectionnez tous les enregistrements de la table
censusen passantcensussous forme de liste àselect(). - Ajoutez une clause
whereàstmtpour ne renvoyer que les enregistrements dont lestatevaut'New York'. - Exécutez l’instruction
stmtavec.execute()surconnectionet récupérez les résultats avec.fetchall(). - Itérez sur
resultset affichez les colonnesage,sexetpop2000de chaque enregistrement. Par exemple, vous pouvez afficher l’agederesultavecresult.age.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# Create a select query: stmt
stmt = ____
# Add a where clause to filter the results to only those for New York : stmt_filtered
stmt = stmt.____
# Execute the query to retrieve all the data returned: results
results = ____
# Loop over the results and print the age, sex, and pop2000
for ___ in ____:
print(result.age, ____, ____)