課程 16:跨資料表查詢練習
課程 16:跨資料表查詢練習
透過本課程學習SQL如何進行跨資料表查詢,整合訂單與客戶等多表資料,掌握 INNER JOIN 的使用時機與語法。
一、SQL跨資料表查詢的重要性
- 現實世界中的資料通常分散在多個相互關聯的表格中。
- 跨資料表查詢讓我們能整合不同表格的資訊,進行更全面的分析。
- JOIN 是實現跨資料表查詢的核心語法。
二、SQL使用 JOIN 分析「訂單 + 客戶」資料
- 情境:需要查詢每筆訂單是哪個客戶下的。
- 訂單表(orders)記錄了訂單號和客戶ID。
- 客戶表(customers)記錄了客戶ID和客戶名稱。
- 透過 JOIN 將兩個表格基於客戶ID連接起來,即可同時看到訂單資訊和對應的客戶名稱。
三、SQL範例
-- 假設有客戶(customers)和訂單(orders)兩張表
-- customers 表: id, name
-- orders 表: order_id, customer_id, amount
-- 查詢每筆訂單的訂單號、金額及客戶名稱
SELECT
o.order_id,
o.amount,
c.name
FROM
orders o
INNER JOIN
customers c ON o.customer_id = c.id;
四、SQL常見錯誤
- JOIN條件寫錯,無法正確匹配資料。
- 選擇欄位時,名稱重複但未指定是哪個表格的欄位(需用 表格別名.欄位名)。
- 未選對 JOIN 類型(INNER, LEFT, RIGHT, etc.),導致結果遺漏或包含不期望的資料。
五、SQL課後小練習
- 假設有商品(products)和訂單明細(order_items)兩張表,products有id, name,order_items有item_id, order_id, product_id, quantity。請寫出查詢每筆訂單明細的商品名稱和購買數量。
互動練習:訂單與客戶跨表查詢模擬 (INNER JOIN)
訂單資料表(orders)
order_id | customer_id | amount |
101 | 1 | 500 |
102 | 2 | 800 |
103 | 1 | 300 |
104 | 4 | 1200 |
📌文章標籤
SQL 數位游牧 科技生活 自由工作者