首頁  >  文章  >  資料庫  >  union在sql中的用法

union在sql中的用法

下次还敢
下次还敢原創
2024-04-29 15:48:14566瀏覽

SQL 中的UNION 運算子用於合併具有相同列結構的SELECT 語句的結果集,刪除重複行(預設)或保留重複行(使用ALL 關鍵字),以獲得新的去重結果集。

union在sql中的用法

UNION 在SQL 中的用法

在SQL 中,UNION 是一種用於組合兩個或多個具有相同列結構的SELECT 語句的結果集的運算子。它將結果集合併成一個新結果集,其中包含來自所有輸入結果集的唯一行。

語法

UNION 語句的一般語法如下:

<code>SELECT_STATEMENT1 UNION [ALL] SELECT_STATEMENT2 [UNION ... SELECT_STATEMENTn]</code>

其中:

  • SELECT_STATEMENT1 是第一個SELECT 語句。
  • UNION 是 UNION 運算子。
  • [ALL] 是可選的關鍵字,用於指示是否保留重複行。如果省略,則會刪除重複行。
  • UNION 可以有多個 SELECT 語句。

用法

UNION 運算子用於下列情況:

  • 合併具有相同列結構的結果集:UNION 可以合併來自不同資料表、檢視或子查詢的結果集,只要它們具有相同的列順序和資料類型。
  • 消除重複行:預設情況下,UNION 會刪除重複行。但是,如果使用了 ALL 關鍵字,它將保留重複行。
  • 建立去重結果集:如果輸入結果集可能包含重複行,可以透過使用 UNION ALL 建立一個包含所有行的去重結果集。

範例

以下範例使用UNION 合併來自兩個資料表的員工資訊:

<code>SELECT *
FROM employees
UNION
SELECT *
FROM new_hires;</code>

結果集將包含來自employees 資料表和new_hires 表的唯一員工行。

以下範例使用 UNION ALL 保留重複行:

<code>SELECT *
FROM employees
UNION ALL
SELECT *
FROM new_hires;</code>

結果集將包含來自 employees 表和 new_hires 表的所有員工行,包括重複行。

以上是union在sql中的用法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn