DB2中INNER和OUTER JOIN的用法和语法

问题:如何借助ORDERS和TRANSACTION DB2表上的示例来解释INNER JOIN和OUTER JOIN。

JOIN用于合并DB2中一个或多个表中的数据。JOIN有两种主要类型-INNER JOIN和OUTER JOIN。它们之间的基本区别是,INNER JOIN是两个或多个表的交集,而外部联接是两个或多个表的并集。基本上,INNER JOIN用于使用相等的列值组合来自多个表的数据,另一方面,在OUTER JOIN的情况下,如果列值不相等,则该行也将显示为NULL值。

例如,考虑下表。

订单

ORDER_ID
订购日期
TRANSACTION_ID
A11243
2020年10月8日
Z67899
A22178
2020年11月11日
Z67009

交易

TRANSACTION_ID
交易日期
Z67899
2020年11月11日
Z67674
2020年7月8日

对于INNER JOIN,我们将使用以下查询。

示例

SELECT ORDER_ID, TRANSACTION_ID FROM
   ORDERS FULL OUTER JOIN TRANSACTIONS ON
   ORDERS.TRANSACTION_ID = TRANSACTIONS.TRANSACTION_ID
ORDER_ID
TRANSACTION_ID
A11243
Z67899

对于OUTER JOIN,我们将使用以下查询。

示例

SELECT ORDER_ID, TRANSACTION_ID FROM
   ORDERS FULL OUTER JOIN TRANSACTIONS ON
   ORDERS.TRANSACTION_ID = TRANSACTIONS.TRANSACTION_ID
ORDER_ID
TRANSACTION_ID
A11243
Z67899
A22178
空值
空值
Z67674
猜你喜欢