CommencerCommencer gratuitement

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

Afficher le cours

Instructions

  • Attribuez à rs les résultats de la requête suivante : sélectionnez tous les enregistrements, en extrayant le Title de l'enregistrement et le Name de l'artiste de chaque enregistrement de la table Album et de la table Artist, respectivement. Pour ce faire, INNER JOIN ces deux tables sur la colonne ArtistID des deux.
  • Lors d'un appel à pd.DataFrame(), appliquez la méthode fetchall() à rs afin de récupérer tous les enregistrements dans rs. Stockez-les dans le DataFrame df.
  • 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())
Modifier et exécuter le code