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

更新於: 2020年11月30日

820 次檢視

開啟你的職業生涯

完成課程獲得認證

開始學習
廣告