Сила SQL — в связях между таблицами: INNER JOIN
В этом упражнении вы выполните свой первый INNER JOIN! Вы будете работать с уже знакомой вам базой данных SQLite — Chinook.sqlite. Для каждой записи в таблице Album вы извлечёте поле Title, а также поле Name из таблицы Artist. Для этого потребуется объединить две таблицы с помощью INNER JOIN по столбцу ArtistID.
Напомним, что для объединения таблиц Orders и Customers из базы данных Northwind Хьюго использовал следующий SQL-запрос:
"SELECT OrderID, CompanyName FROM Orders INNER JOIN Customers on Orders.CustomerID = Customers.CustomerID"
Следующий код уже выполнен — он импортирует необходимые пакеты и создаёт движок:
import pandas as pd
from sqlalchemy import create_engine
engine = create_engine('sqlite:///Chinook.sqlite')
Это упражнение является частью курса
Введение в импорт данных в Python
Инструкции к упражнению
- Присвойте переменной
rsрезультат следующего запроса: выберите все записи, извлекая полеTitleиз таблицыAlbumи полеNameиз таблицыArtist. Для этого объедините две таблицы с помощьюINNER JOINпо столбцуArtistID. - В вызове
pd.DataFrame()примените методfetchall()к объектуrs, чтобы получить все записи. Сохраните результат в DataFramedf. - Задайте именам столбцов DataFrame соответствующие имена столбцов таблицы.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# 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())