CommencezCommencez gratuitement

La force de SQL réside dans les relations entre les tables : INNER JOIN

Ici, vous allez effectuer votre premier INNER JOIN ! Vous utiliserez votre base de données SQLite préférée, Chinook.sqlite. Pour chaque enregistrement de la table Album, vous allez extraire le Title ainsi que le Name de l'Artist. Ce dernier provient de la table Artist; vous devrez donc effectuer un INNER JOIN entre ces deux tables sur la colonne ArtistID de chacune.

Rappelez-vous que pour INNER JOIN les tables Orders et Customers de la base 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 modules nécessaires et créer le moteur :

import pandas as pd
from sqlalchemy import create_engine
engine = create_engine('sqlite:///Chinook.sqlite')

Cette activité fait partie du cours

Introduction à l'importation de données en Python

Voir le cours

Instructions de l’exercice

  • Assignez à rs les résultats de la requête suivante : select tous les enregistrements, en extrayant le Title de l'album et le Name de l'artiste pour chaque enregistrement from les tables Album et Artist, respectivement. Pour ce faire, effectuez un INNER JOIN entre ces deux tables sur la colonne ArtistID des deux.
  • Dans un appel à pd.DataFrame(), appliquez la méthode fetchall() à rs afin de récupérer tous les enregistrements de rs. Stockez-les dans le DataFrame df.
  • Définissez les noms de colonnes du DataFrame avec les noms correspondants des colonnes des tables.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

# 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())
Modifier et exécuter le code