Zacznij terazZacznij za darmo

Siła SQL tkwi w relacjach między tabelami: INNER JOIN

W tym ćwiczeniu wykonasz swoje pierwsze INNER JOIN! Będziesz pracować ze swoją ulubioną bazą danych SQLite – Chinook.sqlite. Dla każdego rekordu w tabeli Album wyciągniesz pole Title wraz z polem Name z tabeli Artist. Ponieważ dane pochodzą z dwóch różnych tabel, musisz połączyć je za pomocą INNER JOIN po kolumnie ArtistID.

Przypomnij sobie, że aby wykonać INNER JOIN tabel Orders i Customers z bazy Northwind, Hugo użył następującego zapytania SQL:

"SELECT OrderID, CompanyName FROM Orders INNER JOIN Customers on Orders.CustomerID = Customers.CustomerID"

Poniższy kod został już wykonany – zaimportował niezbędne pakiety i utworzył silnik:

import pandas as pd
from sqlalchemy import create_engine
engine = create_engine('sqlite:///Chinook.sqlite')

To ćwiczenie jest częścią kursu

Wprowadzenie do importowania danych w Pythonie

Zobacz kurs

Instrukcje do ćwiczenia

  • Przypisz do rs wyniki następującego zapytania: wybierz wszystkie rekordy, wyciągając pole Title z tabeli Album oraz pole Name artysty z tabeli Artist. W tym celu połącz obie tabele za pomocą INNER JOIN po kolumnie ArtistID.
  • W wywołaniu pd.DataFrame() zastosuj metodę fetchall() na obiekcie rs, aby pobrać wszystkie rekordy. Zapisz je w ramce danych df.
  • Ustaw nazwy kolumn ramki danych tak, aby odpowiadały nazwom kolumn z tabel.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# 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())
Edytuj i uruchom kod