在 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 次查看

开启你的 职业生涯

通过完成课程获得认证

开始
广告