DB2 JOIN和UNION有什么区别?借助示例进行解释

JOIN和UNION都用于合并一个或多个表中的数据。对于JOIN,附加数据显示在列中,而对于UNION,附加数据显示在行中。

例如,

Join

假设我们有两个DB2表,即ORDERS和TRANSACTIONS。我们必须为每个ORDER_ID提取TRANSACTION_ID,然后使用INNER JOIN,如下所示:

示例

SELECT ORDER_ID, TRANSACTION_ID
   FROM ORDERS INNER JOIN TRANSACTIONS ON
   ORDERS.TRANSACTION_ID = TRANSACTIONS.TRANSACTION_ID

该查询将导致2列。一列来自ORDERS表,即ORDER_ID,另一列来自TRANSACTIONS表,即TRANSACTION_ID。

Union

我们有2个表ORDERS和ORDER_HIST。ORDERS表具有所有当前订单,而ORDER_HIST表具有所有已存档订单。如果要列出所有总值大于10000的订单,则必须使用以下查询。

示例

SELECT ORDER_ID, ORDER_TOTAL FROM ORDERS WHERE ORDER_TOTAL > 10000
UNION
SELECT ORDER_ID, ORDER_TOTAL FROM ORDERS_HIST WHERE ORDER_TOTAL > 10000
猜你喜欢