首頁 > 資料庫 > mysql教程 > 如何使用 SQL 的 UNION 運算符合併多個表中的資料?

如何使用 SQL 的 UNION 運算符合併多個表中的資料?

Mary-Kate Olsen
發布: 2024-12-29 09:43:15
原創
626 人瀏覽過

How Can I Combine Data from Multiple Tables Using SQL's UNION Operator?

組合表以實現合併輸出

使用多個資料表時,將它們組合起來產生一個統一的輸出是很常見的任務。為了實現這一點,理解資料結構和查詢操作變得至關重要。

想像有兩個表:KnownHours 和 UnknownHours。目標是合併這些表,忽略「月份」列,以獲得與各種費用編號和類別 ID 相關的小時的全面視圖。

為了實現此目的,UNION 運算子是一個強大的工具。它允許我們組合多個查詢的結果,本質上是將它們附加在一起。 SQL 中 UNION 的語法如下:

SELECT ...
FROM table1
UNION
SELECT ...
FROM table2
登入後複製

在我們的例子中,我們需要將每個 ChargeNum/Category 組合的小時數進行分組。我們可以如下修改 UNION 查詢:

SELECT ChargeNum, CategoryID, SUM(Hours)
FROM KnownHours
GROUP BY ChargeNum, CategoryID
UNION ALL
SELECT ChargeNum, 'Unknown' AS CategoryID, SUM(Hours)
FROM UnknownHours
GROUP BY ChargeNum
登入後複製

UNION ALL 關鍵字與 UNION 略有不同,因為它不會嘗試刪除重複的行。這確保了兩個查詢的所有行都包含在最終結果中。

透過利用UNION ALL 操作,我們可以有效地組合KnownHours 和UnknownHours 的結果,建立一個具有所需輸出的綜合表:

ChargeNum    CategoryID     Hours
111111       1              90
111111       2              50
111111       Unknown        110.5
222222       1              40
222222       Unknown        25.5
登入後複製

了解UNION 運算符可讓您合併來自多個來源的數據,為您的數據分析建立量身定制的全面輸出提供強大的手段需求。

以上是如何使用 SQL 的 UNION 運算符合併多個表中的資料?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板