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。
UNIONS
我們有兩個表 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
廣告