在DB2表上使用OUTER JOIN有什么限制?
OUTERJOIN的结果在WHERE子句中包含匹配和不匹配的行。DB2中OUTERJOINS有两个主要限制。
OUTERJOIN的WHERE子句只能具有'='关系运算符。如果两个或多个表的OUTERJOIN不允许使用<,>等。同样,WHERE子句中的两个或更多条件只能与AND逻辑运算符一起使用,不允许使用其他逻辑运算符,例如OR,NOT。
处理NULL运算符的函数(例如VALUE和COALESCE)不能与OUTERJOINS一起使用。
例如,如果我们有下面2个DB2表,分别存储ORDERS和TRANSACTION详细信息。
这两个表中的OUTERJOIN可以如下进行。
示例
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时,我们不能给出>或<关系运算符。