Aan de slagGa gratis aan de slag

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

Cursus bekijken

Oefeninstructies

  • Wijs aan rs de resultaten toe van de volgende query: selecteer alle records, waarbij je de Title van het record en de Name van de artiest van elk record ophaalt, respectievelijk uit de tabellen Album en Artist. Doe dit door deze twee tabelen te INNER JOINen op de kolom ArtistID van beide.
  • Pas in een aanroep van pd.DataFrame() de methode fetchall() toe op rs om alle records in rs op te halen. Sla ze op in de DataFrame df.
  • 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())
Code bewerken en uitvoeren