La potenza di SQL sta nelle relazioni tra tabelle: INNER JOIN
Qui eseguirai il tuo primo INNER JOIN! Lavorerai con il tuo database SQLite preferito, Chinook.sqlite. Per ogni record nella tabella Album, estrarrai il Title insieme al Name dell'Artist. Quest’ultimo arriverà dalla tabella Artist, quindi dovrai effettuare un INNER JOIN di queste due tabelle sulla colonna ArtistID di entrambe.
Ricorda che per eseguire un INNER JOIN delle tabelle Orders e Customers del database Northwind, Hugo ha eseguito la seguente query SQL:
"SELECT OrderID, CompanyName FROM Orders INNER JOIN Customers on Orders.CustomerID = Customers.CustomerID"
Il seguente codice è già stato eseguito per importare i pacchetti necessari e creare l’engine:
import pandas as pd
from sqlalchemy import create_engine
engine = create_engine('sqlite:///Chinook.sqlite')
Questo esercizio fa parte del corso
Introduzione all'importazione dei dati in Python
Istruzioni dell'esercizio
- Assegna a
rsi risultati della seguente query: seleziona tutti i record estraendo ilTitledel record e ilNamedell’artista di ciascun record dalle tabelleAlbumeArtist, rispettivamente. Per farlo, esegui unINNER JOINdi queste due tabelle sulla colonnaArtistIDdi entrambe. - In una chiamata a
pd.DataFrame(), applica il metodofetchall()arsper recuperare tutti i record inrs. Salvali nel DataFramedf. - Imposta i nomi delle colonne del DataFrame ai corrispondenti nomi delle colonne delle tabelle.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# 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())