在 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 時,不能使用 > 或 < 關係運算符。

更新於: 2020-11-30

427 次檢視

開啟你的 職業生涯

透過完成課程獲得認證

開始
廣告
© . All rights reserved.