เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

ประสิทธิภาพของ SQL อยู่ที่ความสัมพันธ์ระหว่างตาราง: INNER JOIN

ในแบบฝึกหัดนี้ คุณจะได้ลอง INNER JOIN เป็นครั้งแรก โดยใช้ฐานข้อมูล SQLite ที่คุ้นเคยอย่าง Chinook.sqlite เป้าหมายคือดึงข้อมูล Title จากตาราง Album พร้อมกับ Name ของศิลปินจากตาราง Artist ซึ่งต้องใช้ INNER JOIN เชื่อมสองตารางนี้เข้าด้วยกันผ่านคอลัมน์ ArtistID

สำหรับการ INNER JOIN ตาราง Orders และ Customers จากฐานข้อมูล Northwind Hugo ใช้ SQL query ดังนี้:

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

โค้ดด้านล่างนี้ถูกรันไปแล้ว เพื่อนำเข้าแพ็กเกจที่จำเป็นและสร้าง engine:

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

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

Python เบื้องต้น: การนำเข้าข้อมูล

ดูคอร์ส

คำแนะนำการฝึกหัด

  • กำหนดผลลัพธ์จาก query ต่อไปนี้ให้กับ rs: select ทุก record โดยดึง Title จากตาราง Album และ Name ของศิลปินจากตาราง Artist จากนั้น INNER JOIN สองตารางนี้บนคอลัมน์ ArtistID ของทั้งคู่
  • เรียกใช้เมธอด fetchall() บน rs ภายใน pd.DataFrame() เพื่อดึงข้อมูลทุก record ใน rs แล้วเก็บผลลัพธ์ไว้ใน DataFrame ชื่อ df
  • กำหนดชื่อคอลัมน์ของ 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())
แก้ไขและรันโค้ด