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 |
广告