首頁 資料庫 SQL SQL Union用法是什麼?

SQL Union用法是什麼?

Jun 09, 2020 pm 04:21 PM

SQL Union用法是什麼?

sql union用法是什麼?

sql union用法的總結:

UNION 運算子將多個 SELECT 語句的結果組合成一個結果集。

(1)使用 UNION 須滿足以下條件:
A:所有查詢中必須具有相同的結構(即查詢中的的列數和列的順序必須相同)。

B:對應列的資料型別可以不同但是必須相容(所謂的相容是指兩種型別之間可以進行隱式轉換,不能進行隱式轉換則報錯)。也可以用明確轉換為相同的資料型別。

(當資料類型不同時,則根據資料類型優先權規則確定所產生的資料類型。如果類型相同,但精確度、小數位數或長度不同,則根據用於合併表達式的相同規則來決定結果)(參考MSDN:資料型別優先權)

C:若為XML資料型別則列必須等價(所有欄位都必須類型化為XML 架構,或為非型別),如果類型化,這些欄位必須類型化為相同的XML 架構集合。

(2)UNION結果集
A:UNION 後的結果集的列名與 第一個 SELECT 語句的結果集中的列名相同。另一個 SELECT 語句的結果集列名將被忽略。

B:UNION預設的刪除結果集中重複的記錄,如果使用ALL 關鍵字則在結果集中保留所有記錄(保留重複記錄)

(3)注意點
#A : Transact-SQL 語句中可以使用多個UNION 運算子

B:在使用了UNION 運算子的各個SELECT 語句不能包含它們自己的ORDER BY 或COMPUTE 子句。而只能在最終的組合結果集(即最後一個 SELECT 語句的後面)使用一個 ORDER BY 或 COMPUTE 子句。

C:在使用了 UNION 運算子的各個 SELECT 語句中可以使用 GROUP BY 和 HAVING 子句。

 

D:預設情況下,SQL Server 2005 會從左向右對包含 UNION 運算子的語句求值。可使用圓括號指定求值順序。

MSDN 範例如下

例如,以下語句並不等價:

/* First statement. */ 
  SELECT * FROM TableA 
  UNION ALL 
 ( SELECT * FROM TableB 
  UNION 
 SELECT * FROM TableC 
 ) 
 GO 
 /* Second statement. */ 
 (SELECT * FROM TableA 
 UNION ALL 
 SELECT * FROM TableB 
 ) 
 UNION 
 SELECT * FROM TableC) 
 GO
登入後複製

推薦教學:《SQL影片教學

以上是SQL Union用法是什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1664
14
CakePHP 教程
1423
52
Laravel 教程
1317
25
PHP教程
1268
29
C# 教程
1246
24
sql數據庫錯誤怎麼查看 sql數據庫錯誤怎麼查看 Apr 10, 2025 pm 12:09 PM

SQL數據庫錯誤查看方法有:1. 直接查看錯誤消息;2. 使用SHOW ERRORS和SHOW WARNINGS命令;3. 訪問錯誤日誌;4. 使用錯誤代碼查找錯誤原因;5. 檢查數據庫連接和查詢語法;6. 使用調試工具。

sql distinct怎麼用 sql distinct怎麼用 Apr 10, 2025 pm 12:06 PM

DISTINCT 操作符用於 SQL 查詢中排除重複行,僅返回唯一值,適用於獲取唯一值列表、統計唯一值數量和結合 GROUP BY 使用等場景。

sql如何查詢字段重複數據 sql如何查詢字段重複數據 Apr 10, 2025 am 09:39 AM

可以使用 SQL 的 GROUP BY 和 COUNT() 函數、DISTINCT 和 COUNT() 函數或窗口函數 ROW_NUMBER() 來查詢重複字段數據。

sql中datediff函數怎麼用 sql中datediff函數怎麼用 Apr 10, 2025 am 09:33 AM

DATEDIFF 函數可計算兩個日期之間的天數差。語法:DATEDIFF(interval, start_date, end_date)。 interval 指示間隔單位(年份、月份、天數等)。 start_date 和 end_date 是開始和結束日期。

sql時間屬性怎麼比大小 sql時間屬性怎麼比大小 Apr 10, 2025 am 11:48 AM

在 SQL 中比較時間屬性時,可以使用以下運算符:=、<>、<、>、<=、>=,需要小心比較不同類型的時間屬性。比較時需考慮 NULL 值,可以使用 IS NULL 和 IS NOT NULL 運算符檢查 NULL 值。

SQL:命令,mysql:引擎 SQL:命令,mysql:引擎 Apr 15, 2025 am 12:04 AM

SQL命令在MySQL中分為DQL、DDL、DML、DCL和TCL五類,用於定義、操作和控制數據庫數據。 MySQL通過詞法分析、語法分析、優化和執行等階段處理SQL命令,並利用索引和查詢優化器提升性能。使用示例包括SELECT用於數據查詢,JOIN用於多表操作。常見錯誤有語法、邏輯和性能問題,優化策略包括使用索引、優化查詢和選擇合適的存儲引擎。

sql的刪除語句怎麼寫 sql的刪除語句怎麼寫 Apr 10, 2025 am 10:33 AM

SQL 的刪除語句是 DELETE FROM,用於從指定表中刪除行。語法為:DELETE FROM table_name WHERE condition。 condition 是一個可選條件,用於指定要刪除的行。如果不指定條件,則刪除所有行。示例:DELETE FROM customers WHERE customer_id = 2; 刪除 customer_id 為 2 的行。

SQL和MySQL:了解核心差異 SQL和MySQL:了解核心差異 Apr 17, 2025 am 12:03 AM

SQL是一種用於管理關係數據庫的標準語言,而MySQL是一個具體的數據庫管理系統。 SQL提供統一語法,適用於多種數據庫;MySQL輕量、開源,性能穩定但在大數據處理上有瓶頸。

See all articles