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


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

解决方案

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

例如,请考虑下表。

ORDERS

ORDER_ID
ORDER_DATE
TRANSACTION_ID
A11243
10-08-2020
Z67899
A22178
11-08-2020
Z67009

 

TRANSACTIONS

TRANSACTION_ID
TRANSACTION_DATE
Z67899
11-08-2020
Z67674
07-08-2020

对于 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
NULL
NULL
Z67674

更新于: 2020-11-30

5K+ 次浏览

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告