De kracht van SQL zit in relaties tussen tabellen: INNER JOIN
Hier ga je je eerste INNER JOIN uitvoeren! Je werkt met je favoriete SQLite-database, Chinook.sqlite. Voor elk record in de tabel Album haal je de Title op, samen met de Name van de Artist. Die laatste komt uit de tabel Artist, dus je moet deze twee tabellen INNER JOINen op de kolom ArtistID van beide.
Herinner je dat Hugo de volgende SQL-query uitvoerde om de tabellen Orders en Customers uit de Northwind-database te INNER JOINen:
"SELECT OrderID, CompanyName FROM Orders INNER JOIN Customers on Orders.CustomerID = Customers.CustomerID"
De volgende code is al uitgevoerd om de benodigde pakketten te importeren en de engine te maken:
import pandas as pd
from sqlalchemy import create_engine
engine = create_engine('sqlite:///Chinook.sqlite')
Deze oefening maakt deel uit van de cursus
Introductie tot data importeren in Python
Oefeninstructies
- Wijs aan
rsde resultaten toe van de volgende query: selecteer alle records, waarbij je deTitlevan het record en deNamevan de artiest van elk record ophaalt, respectievelijk uit de tabellenAlbumenArtist. Doe dit door deze twee tabelen teINNER JOINen op de kolomArtistIDvan beide. - Pas in een aanroep van
pd.DataFrame()de methodefetchall()toe oprsom alle records inrsop te halen. Sla ze op in de DataFramedf. - Stel de kolomnamen van de DataFrame in op de overeenkomstige namen van de tabelkolommen.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# 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())