Síla SQL tkví ve vztazích mezi tabulkami: INNER JOIN
V tomto cvičení provedeš svůj první INNER JOIN! Budeš pracovat se svou oblíbenou SQLite databází Chinook.sqlite. Pro každý záznam v tabulce Album extrahuješ Title spolu s Name příslušného Artist. Jméno umělce pochází z tabulky Artist, takže budeš muset tyto dvě tabulky propojit pomocí INNER JOIN na sloupci ArtistID.
Připomeň si, jak Hugo provedl INNER JOIN tabulek Orders a Customers z databáze Northwind pomocí tohoto SQL dotazu:
"SELECT OrderID, CompanyName FROM Orders INNER JOIN Customers on Orders.CustomerID = Customers.CustomerID"
Následující kód už byl spuštěn – importuje potřebné balíčky a vytváří engine:
import pandas as pd
from sqlalchemy import create_engine
engine = create_engine('sqlite:///Chinook.sqlite')
Toto cvičení je součástí kurzu
Úvod do importu dat v Pythonu
Pokyny k cvičení
- Do proměnné
rsulož výsledky následujícího dotazu: vyber všechny záznamy, přičemž z tabulkyAlbumextrahujTitlea z tabulkyArtistextrahujNamepříslušného umělce. K tomu propoj obě tabulky pomocíINNER JOINna sloupciArtistID. - V rámci volání
pd.DataFrame()zavolej narsmetodufetchall(), která načte všechny záznamy zrs. Výsledek ulož do DataFramedf. - Nastav názvy sloupců DataFrame na odpovídající názvy sloupců z tabulek.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# 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())