sql語句中union的用法與踩坑記錄
sql語句union的用法
union聯合的結果集不會有重復值,如果要有重復值,則使用union all
union會自動壓縮多個結果集合中重復的結果,使結果不會有重復行,union all 會將所有的結果共全部顯示出來,不管是不是重復。
union:會對兩個結果集進行并集操作,不包括重復行,同時進行默認規則的排序。
union all:對兩個結果集進行并集操作,包括重復行,不會對結果進行排序。
1.sql Union用法 select 字段1 from 表名1 Union select 字段2 from 表名2; 2.sql Union All用法 select 字段1 from 表名1 Union all select 字段2 from 表名2;
employee_china表:
employee_use表:
union:
select E_ID,E_Name FROM employees_china union select E_ID,E_Name FROM employees_usa
去掉:
union all:
select E_ID,E_Name FROM employees_china union all select E_ID,E_Name FROM employees_usa
不能去掉:
當存在不相同的字段時:
必須進行補充:
select E_ID,E_Name,E_Hello FROM employees_china union all select E_ID,E_Name,' ' as E_Hello FROM employees_usa
補充:SQL UNION踩過的坑
UNION 操作符用于合并兩個或多個 SELECT 語句的結果集。
請注意,UNION 內部的 SELECT 語句必須擁有相同數量的列。列也必須擁有相似的數據類型。同時,每條 SELECT 語句中的列的順序必須相同。
SQL UNION 語法
SELECT column_name(s) FROM table_name1 UNION SELECT column_name(s) FROM table_name2
注釋:默認地,UNION 操作符選取不同的值。如果允許重復的值,請使用 UNION ALL。
SQL UNION ALL 語法
SELECT column_name(s) FROM table_name1 UNION ALL SELECT column_name(s) FROM table_name2
另外,UNION 結果集中的列名總是等于 UNION 中第一個 SELECT 語句中的列名。
eg:
表中的數據:
使用union 查詢
上圖中的例子 根據類型 分別統計了 color 和total兩個字段的和,稍不注意就會把 3和79當成一個"類型"的數據,尤其是在聚合操作大量數據的時候.
小結:
1.使用union時,一定要保證每條語句的字段順序一致,特殊需求除外.
2.union all(結果集不去重)比union(結果集去重)的執行效率高很多 注意區別
3.如果要排序在最后一個select語句上加order by即可
總結
到此這篇關于sql語句中union用法與踩坑的文章就介紹到這了,更多相關sql語句union的用法內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
安裝sqlserver2000時出現wowexec.exe無反應的解決方法
wowexec.exe是操作系統相關程序,用于支持16位進程,而wowexec 或者 wowexec.exe則是當硬盤上的文件碎片過多時,系統自動進行碎片整理2013-04-04基于SQL Server中char,nchar,varchar,nvarchar的使用區別
對于程序中的一般字符串類型的字段,SQL Server中有char、varchar、nchar、nvarchar四種類型來對應,那么這四種類型有什么區別呢,這里做一下對比2013-05-05在Windows XP系統安裝SQL server 2000 企業版(圖解版)
今天在網上下載一個軟件,需要使用MS SQL,海波用的是 Windows XP Professional(專業) 版系統,而SQL卻是企業版。安裝的時候提示我只能安裝客戶端,服務程序卻不能安裝。海波在網上搜索到了一些方法,設置成功了2014-07-07SQL Server免費版的安裝以及使用SQL Server Management Studio(SSMS)連接數據庫的
這篇文章主要介紹了SQL Server免費版的安裝以及使用SQL Server Management Studio(SSMS)連接數據庫的圖文方法,需要的朋友可以參考下2020-02-02淺析SQL Server授予了CREATE TABLE權限但是無法創建表
這篇文章主要介紹了SQL Server授予了CREATE TABLE權限但是無法創建表的相關知識,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-12-12
最新評論