La puissance du langage SQL réside dans les relations entre les tableaux : INNER JOIN
C'est ici que vous effectuerez votre premier INNER JOIN
! Vous travaillerez avec votre base de données SQLite préférée, Chinook.sqlite
. Pour chaque enregistrement de la table Album
, vous extrairez le Title
ainsi que le Name
du Artist
. Ce dernier proviendra de la table Artist
et vous devrez donc INNER JOIN
ces deux tables sur la colonne ArtistID
des deux.
Rappelez-vous que pour INNER JOIN
les tables Orders
et Customers
de la base de données Northwind, Hugo a exécuté la requête SQL suivante :
"SELECT OrderID, CompanyName FROM Orders INNER JOIN Customers on Orders.CustomerID = Customers.CustomerID"
Le code suivant a déjà été exécuté pour importer les packages nécessaires et créer le moteur :
import pandas as pd
from sqlalchemy import create_engine
engine = create_engine('sqlite:///Chinook.sqlite')
Cet exercice fait partie du cours
Introduction à l'importation de données en Python
Instructions
- Attribuez à
rs
les résultats de la requête suivante : sélectionnez tous les enregistrements, en extrayant leTitle
de l'enregistrement et leName
de l'artiste de chaque enregistrement de la tableAlbum
et de la tableArtist
, respectivement. Pour ce faire,INNER JOIN
ces deux tables sur la colonneArtistID
des deux. - Lors d'un appel à
pd.DataFrame()
, appliquez la méthodefetchall()
àrs
afin de récupérer tous les enregistrements dansrs
. Stockez-les dans le DataFramedf
. - Définissez les noms des colonnes du DataFrame en fonction des noms correspondants des colonnes de la table.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# Open engine in context manager
# Perform query and save results to DataFrame: df
with engine.connect() as con:
____
____
____
# Print head of DataFrame df
print(df.head())