課程 14:內部連接 `INNER JOIN`
課程 14:內部連接 `INNER JOIN`
本課程介紹 SQL 的 INNER JOIN 語法,學會如何連接多張資料表,查詢符合條件的交集資料,並提供互動範例幫助理解。
一、SQL內部連接 INNER JOIN
- 用於合併兩個或多個資料表,只回傳符合連接條件的資料列。
- 可以想像成取兩個表格的「交集」。
二、SQL基本語法
SELECT 欄位 FROM 表格1 INNER JOIN 表格2 ON 表格1.欄位 = 表格2.欄位;
- `SELECT 欄位`:選擇要顯示的欄位,可包含不同表格的欄位。
- `FROM 表格1 INNER JOIN 表格2`:指定要連接的兩個表格。
- `ON 表格1.欄位 = 表格2.欄位`:指定連接的條件,通常是透過外鍵(Foreign Key)。
三、SQL範例
-- 假設有客戶(customers)和訂單(orders)兩張表
-- customers 表: id, name
-- orders 表: order_id, customer_id, amount
SELECT
customers.name,
orders.order_id,
orders.amount
FROM
customers
INNER JOIN
orders ON customers.id = orders.customer_id;
四、SQL常見錯誤
- ON 後的連接條件寫錯,導致結果不正確或沒有結果。
- 未指定連接欄位,導致笛卡爾積(Cartesian Product),回傳大量無意義的組合。
- 選擇欄位時未指定表格名稱(如 name, order_id),當不同表有相同欄位名稱時會出錯。
五、課後小練習
- 假設有商品(products)和訂單明細(order_items)兩張表,products有id, name,order_items有item_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 數位游牧 科技生活 自由工作者