Sức mạnh của SQL nằm ở mối quan hệ giữa các bảng: INNER JOIN
Ở đây, bạn sẽ thực hiện INNER JOIN đầu tiên của mình! Bạn sẽ làm việc với cơ sở dữ liệu SQLite yêu thích, Chinook.sqlite. Với mỗi bản ghi trong bảng Album, bạn sẽ trích xuất Title cùng với Name của Artist. Trường sau đến từ bảng Artist, vì vậy bạn cần INNER JOIN hai bảng này theo cột ArtistID của cả hai.
Hãy nhớ rằng để INNER JOIN các bảng Orders và Customers từ cơ sở dữ liệu Northwind, Hugo đã chạy truy vấn SQL sau:
"SELECT OrderID, CompanyName FROM Orders INNER JOIN Customers on Orders.CustomerID = Customers.CustomerID"
Đoạn mã sau đã được chạy để nhập các gói cần thiết và tạo engine:
import pandas as pd
from sqlalchemy import create_engine
engine = create_engine('sqlite:///Chinook.sqlite')
Bài tập này là một phần của khóa học
Nhập dữ liệu vào Python: Giới thiệu
Hướng dẫn bài tập
- Gán cho
rskết quả từ truy vấn sau: select tất cả các bản ghi, lấyTitlecủa bản ghi vàNamecủa nghệ sĩ cho mỗi bản ghi lần lượt from bảngAlbumvà bảngArtist. Để làm vậy, hãyINNER JOINhai bảng này theo cộtArtistIDcủa cả hai. - Khi gọi
pd.DataFrame(), áp dụng phương thứcfetchall()lênrsđể lấy tất cả bản ghi trongrs. Lưu chúng vào DataFramedf. - Đặt tên cột của DataFrame khớp với tên cột tương ứng trong bảng.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
# 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())