在 DB2 表上使用 OUTER JOIN 的限制是什麼?
OUTER JOIN 的結果包括 WHERE 子句中匹配的行和不匹配的行。DB2 中的 OUTER JOIN 主要有兩個限制。
- OUTER JOIN 的 WHERE 子句只能使用“=”關係運算符。在兩個或多個表的 OUTER JOIN 中,不允許使用 <、> 等。此外,WHERE 子句中的兩個或多個條件只能與 AND 邏輯運算子一起使用,其他邏輯運算子(如 OR、NOT)不允許使用。
- 處理 NULL 運算子的函式(如 VALUE 和 COALESCE)不能與 OUTER JOIN 一起使用。
例如,如果我們有兩個 DB2 表,分別儲存訂單和交易詳細資訊。
| 訂單 ID | 交易 ID | 訂單日期 |
| Z22345 | ITX4489 | 23-10-2020 |
| Z62998 | ITX4311 | 21-10-2020 |
| Z56902 | ITX3120 | 26-10-2020 |
| 交易 ID | 交易金額 | 交易訂單日期 |
| ITX4489 | 1128 | 24-10-2020 |
| ITX4311 | 2318 | 17-10-2020 |
| ITX3120 | 88956 | 26-10-2020 |
| ITX2167 | 5612 | 12-10-2020 |
這兩個表的 OUTER JOIN 可以如下完成。
示例
SELECT A.ORDER_ID, B.TRANSACTION_ID, B.TRANS_AMT FROM ORDERS A FULL OUTER JOIN TRANSACTION B ON B.TRANS_ORDER_DT = A.ORDER_DATE
但是,在全外部聯接時,比較 TRANS_ORDER_DT 和 ORDER_DATE 時,不能使用 > 或 < 關係運算符。
廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP