FULL JOIN 關鍵字 (SQL FULL JOIN Keyword) - 全部外部連接
FULL JOIN 即為 LEFT JOIN 與 RIGHT JOIN 的聯集,它會返回左右資料表中所有的紀錄,不論是否符合連接條件。
FULL JOIN 語法 (SQL FULL JOIN Syntax)
SELECT table_column1, table_column2...
FROM table_name1
FULL JOIN table_name2
ON table_name1.column_name=table_name2.column_name;
FULL 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 |
我們來作一個 FULL JOIN 查詢:
SELECT customers.Name, orders.Order_No
FROM customers
FULL JOIN orders
ON customers.C_Id=orders.C_Id;
查詢結果如下:
| Name | Order_No |
|---|---|
| 李三 | 2572 |
| 李三 | 7375 |
| 張一 | 7520 |
| 張一 | 1054 |
| 1257 | |
| 王二 |
MySQL 資料庫中沒有 FULL JOIN,但是可以用 UNION 來模擬。