INNER JOIN 關鍵字 (SQL INNER JOIN Keyword) - 內部連接
INNER JOIN (內部連接) 為等值連接,必需指定等值連接的條件,而查詢結果只會返回符合連接條件的資料。INNER JOIN 語法 (SQL INNER JOIN Syntax)
SELECT table_column1, table_column2··· FROM table_name1 INNER JOIN table_name2 ON table_name1.column_name=table_name2.column_name;或
SELECT table_column1, table_column2··· FROM table_name1 INNER JOIN table_name2 USING (column_name);
INNER JOIN 查詢實例 (Example)
這是一個客戶資料表「customers」:| C_Id | Name | City | Address | Phone |
|---|---|---|---|---|
| 1 | 張一 | 台北市 | XX路100號 | 02-12345678 |
| 2 | 王二 | 新竹縣 | YY路200號 | 03-12345678 |
| 3 | 李三 | 高雄縣 | ZZ路300號 | 07-12345678 |
而這是產品訂單的資料表「orders」:
| O_Id | Order_No | C_Id |
|---|---|---|
| 1 | 2572 | 3 |
| 2 | 7375 | 3 |
| 3 | 7520 | 1 |
| 4 | 1054 | 1 |
| 5 | 1257 | 5 |
現在我們想列出所有客戶的訂單編號資料,我們可以作一個 INNER JOIN 查詢:
SELECT customers.Name, orders.Order_No FROM customers INNER JOIN orders ON customers.C_Id=orders.C_Id;
其中用點號連接之「XXX.YYY」表示XXX資料表中的YYY欄位。
查詢結果如下:
| Name | Order_No |
|---|---|
| 李三 | 2572 |
| 李三 | 7375 |
| 張一 | 7520 |
| 張一 | 1054 |
查詢結果只會返回符合連接條件的資料!