Filtrer des enregistrements avec la clause WHERE en SQL
Vous pouvez maintenant exécuter une requête SQL de base pour sélectionner des enregistrements de n'importe quelle table de votre base de données, et aussi personnaliser simplement vos requêtes pour choisir certaines colonnes et un nombre précis de lignes.
Il existe encore quelques techniques SQL standard qui vous aideront à devenir un as du SQL.
Disons, par exemple, que vous voulez obtenir tous les enregistrements de la table Customer de la base Chinook pour lesquels la colonne Country vaut 'Canada'. Vous pouvez le faire très facilement en SQL avec une instruction SELECT suivie d'une clause WHERE comme ceci :
SELECT * FROM Customer WHERE Country = 'Canada'
En fait, vous pouvez filtrer n'importe quelle instruction SELECT selon n'importe quelle condition avec une clause WHERE. On parle alors de filtrer vos enregistrements.
Dans cet exercice interactif, vous allez sélectionner tous les enregistrements de la table Employee pour lesquels 'EmployeeId' est supérieur ou égal à 6.
Les modules sont déjà importés comme suit :
import pandas as pd
from sqlalchemy import create_engine
À vous de jouer avec les requêtes !
Cette activité fait partie du cours
Introduction à l'importation de données en Python
Instructions de l’exercice
- Complétez l'argument de
create_engine()afin de créer le moteur pour la base de données SQLite'Chinook.sqlite'. - Exécutez la requête qui sélectionne tous les enregistrements de la table
Employeeoù'EmployeeId'est supérieur ou égal à6. Utilisez l'opérateur>=et assignez les résultats àrs. - Appliquez la méthode
fetchall()àrspour récupérer tous les enregistrements dansrs. Stockez-les dans la DataFramedf. - En utilisant l'objet
rs, définissez les noms de colonnes de la DataFrame avec les noms correspondants des colonnes de la table.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# Create engine: engine
engine = create_engine(____)
# Open engine in context manager
# Perform query and save results to DataFrame: df
with engine.connect() as con:
rs = con.execute(____)
df = pd.DataFrame(____)
df.columns = ____
# Print the head of the DataFrame df
print(df.head())