JOIN和UNION都用于合并一个或多个表中的数据。对于JOIN,附加数据显示在列中,而对于UNION,附加数据显示在行中。
例如,
假设我们有两个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。
我们有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