使用 SQL 的 WHERE 篩選資料庫記錄
你現在已經可以在資料庫中的任何資料表執行基本的 SQL 查詢,來選取記錄;你也能做簡單的查詢調整,只選取特定欄位或指定筆數。
接下來還有幾個常見的 SQL 查詢技巧,能幫助你更進一步熟練 SQL。
例如,假設你想從 Chinook 資料庫的 Customer 資料表中,取得所有 Country 等於 'Canada' 的記錄。你可以用一個 SELECT 搭配 WHERE 子句輕鬆做到:
SELECT * FROM Customer WHERE Country = 'Canada'
事實上,你可以在任何 SELECT 查詢後面加上 WHERE 子句,依任意條件來篩選。這就叫做篩選(filtering)記錄。
在這個互動練習中,你將選取 Employee 資料表中所有 'EmployeeId' 大於或等於 6 的記錄。
套件已經匯入如下:
import pandas as pd
from sqlalchemy import create_engine
開始查詢吧!
本練習屬於課程
Python 資料匯入入門
練習說明
- 完成
create_engine()的引數,建立指向 SQLite 資料庫'Chinook.sqlite'的引擎。 - 執行一個查詢,選取
Employee資料表中 所有 記錄,且 where'EmployeeId'大於或等於6。使用>=運算子,並將結果指定給rs。 - 對
rs呼叫fetchall()以擷取所有記錄,並將其存成 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())