การกรองข้อมูลในฐานข้อมูลด้วย WHERE ของ SQL
ตอนนี้คุณสามารถเขียน SQL query เบื้องต้นเพื่อดึงข้อมูลจากตารางใดก็ได้ในฐานข้อมูล รวมถึงปรับแต่ง query เพื่อเลือกเฉพาะคอลัมน์หรือจำนวนแถวที่ต้องการได้แล้ว
ยังมีเทคนิค SQL มาตรฐานอีกสองอย่างที่จะช่วยให้คุณใช้ SQL ได้คล่องยิ่งขึ้น
สมมติว่าต้องการดึงข้อมูลทั้งหมดจากตาราง Customer ในฐานข้อมูล Chinook เฉพาะรายการที่ Country เป็น 'Canada' สามารถทำได้ง่ายมากด้วย SQL โดยใช้คำสั่ง SELECT ตามด้วย WHERE ดังนี้:
SELECT * FROM Customer WHERE Country = 'Canada'
ในความเป็นจริง สามารถกรองคำสั่ง SELECT ใดก็ได้ด้วยเงื่อนไขที่ต้องการผ่าน WHERE วิธีนี้เรียกว่าการ กรอง ข้อมูล
ในแบบฝึกหัดนี้ ให้เลือกข้อมูลทั้งหมดจากตาราง Employee ที่ 'EmployeeId' มีค่ามากกว่าหรือเท่ากับ 6
ได้นำเข้าแพ็กเกจต่างๆ ไว้แล้วดังนี้:
import pandas as pd
from sqlalchemy import create_engine
เริ่มเขียน query ได้เลย!
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Python เบื้องต้น: การนำเข้าข้อมูล
คำแนะนำการฝึกหัด
- เติม argument ใน
create_engine()เพื่อสร้าง engine สำหรับฐานข้อมูล SQLite'Chinook.sqlite' - รัน query ที่ เลือก ข้อมูล ทั้งหมด จาก ตาราง
Employeeโดยที่'EmployeeId'มีค่ามากกว่าหรือเท่ากับ6ใช้ตัวดำเนินการ>=แล้วเก็บผลลัพธ์ไว้ในตัวแปรrs - ใช้เมธอด
fetchall()กับrsเพื่อดึงข้อมูลทั้งหมดในrsแล้วเก็บไว้ใน DataFramedf - ใช้ออบเจกต์
rsเพื่อกำหนดชื่อคอลัมน์ของ DataFrame ให้ตรงกับชื่อคอลัมน์ของตารางในฐานข้อมูล
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Create engine: engine
engine = create_engine(____)
# Open engine in context manager
# Perform query and save results to DataFrame: df
with engine.connect() as con:
rs = con.execute(____)
df = pd.DataFrame(____)
df.columns = ____
# Print the head of the DataFrame df
print(df.head())