網(wǎng)站首頁 編程語言 正文
sql語句union的用法
?union聯(lián)合的結果集不會有重復值,如果要有重復值,則使用union all
?union會自動壓縮多個結果集合中重復的結果,使結果不會有重復行,union all 會將所有的結果共全部顯示出來,不管是不是重復。
?union:會對兩個結果集進行并集操作,不包括重復行,同時進行默認規(guī)則的排序。
?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 內(nèi)部的 SELECT 語句必須擁有相同數(shù)量的列。列也必須擁有相似的數(shù)據(jù)類型。同時,每條 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:
表中的數(shù)據(jù):
使用union 查詢
上圖中的例子 根據(jù)類型 分別統(tǒng)計了 color 和total兩個字段的和,稍不注意就會把 3和79當成一個"類型"的數(shù)據(jù),尤其是在聚合操作大量數(shù)據(jù)的時候.
小結:
1.使用union時,一定要保證每條語句的字段順序一致,特殊需求除外.
2.union all(結果集不去重)比union(結果集去重)的執(zhí)行效率高很多 注意區(qū)別
3.如果要排序在最后一個select語句上加order by即可
總結
原文鏈接:https://blog.csdn.net/weixin_42383680/article/details/119858753
相關推薦
- 2022-04-12 如何解決:git push -u origin msster時出現(xiàn)error: failed to
- 2022-11-17 VMware?vSphere?ESXi系統(tǒng)設置靜態(tài)IP的方法_VMware
- 2022-09-02 Oracle11g調(diào)整SGA方法詳解_oracle
- 2022-11-26 C#?WinForm實現(xiàn)自動更新程序的方法詳解_C#教程
- 2022-10-19 Pandas如何對Categorical類型字段數(shù)據(jù)統(tǒng)計實戰(zhàn)案例_python
- 2022-07-16 windows下的SDL開發(fā)環(huán)境搭建(基于mingw編譯運行)
- 2022-07-29 C++數(shù)據(jù)結構之單鏈表的實現(xiàn)_C 語言
- 2023-04-03 C++中using的三種用法舉例詳解_C 語言
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細win安裝深度學習環(huán)境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結構-簡單動態(tài)字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支