RIGHT JOIN 關鍵字 (SQL RIGHT JOIN Keyword) - 右外部連接
相對於 LEFT JOIN,RIGHT JOIN 可以用來建立右外部連接,查詢的 SQL 敘述句 RIGHT JOIN 右側資料表 (table_name2) 的所有記錄都會加入到查詢結果中,即使左側資料表 (table_name1) 中的連接欄位沒有符合的值也一樣。
RIGHT JOIN 語法 (SQL RIGHT JOIN Syntax)
SELECT table_column1, table_column2···
FROM table_name1
RIGHT JOIN table_name2
ON table_name1.column_name=table_name2.column_name;
有些資料庫的語法會是 RIGHT OUTER JOIN。
RIGHT 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 |
現在我們想查詢所有訂單與相應的客戶之資料,我們可以作一個 RIGHT JOIN 查詢:
SELECT customers.Name, orders.Order_No
FROM customers
RIGHT JOIN orders
ON customers.C_Id=orders.C_Id;
查詢結果如下:
Name | Order_No |
---|---|
李三 | 2572 |
李三 | 7375 |
張一 | 7520 |
張一 | 1054 |
1257 |
RIGHT JOIN 會返回右側資料表中所有資料列,就算是沒有符合連接條件,而左側資料表中如果沒有匹配的資料值就會顯示為 NULL。