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 à
rsles résultats de la requête suivante : sélectionnez tous les enregistrements, en extrayant leTitlede l'enregistrement et leNamede l'artiste de chaque enregistrement de la tableAlbumet de la tableArtist, respectivement. Pour ce faire,INNER JOINces deux tables sur la colonneArtistIDdes deux. - Lors d'un appel à
pd.DataFrame(), appliquez la méthodefetchall()àrsafin 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())