首页 > 其他分享 >UNION ALL用法 以及 UNION ALL和UNION的区别

UNION ALL用法 以及 UNION ALL和UNION的区别

时间:2023-04-19 14:45:48浏览次数:47  
标签:1999 区别 UNION 用法 Jan union SQL id

部分参考自文章:

  https://blog.csdn.net/a200822146085/article/details/119545374(CC 4.0 BY-SA版权协议)CSDN「我心依依旧」

  https://www.1keydata.com/cn/sql/sql-unionall.php SQL Union All SQL指令

UNION ALL用法

UNION ALL 这个指令的目的也是要将两个 SQL 语句的结果合并在一起。 UNION ALL 和 UNION 不同之处在于 UNION ALL 会将每一笔符合条件的资料都列出来,无论资料值有无重复。

UNION ALL 的语法如下:

[SQL 语句 1]
UNION ALL
[SQL 语句 2];

我们用和上一页同样的例子来显示出 UNION ALL 和 UNION 的不同。同样假设我们有以下两个表格,

Store_Information 表格

Store_Name Sales Txn_Date
Los Angeles 1500 05-Jan-1999
San Diego 250 07-Jan-1999
Los Angeles 300 08-Jan-1999
Boston 700 08-Jan-1999

Internet Sales 表格

Txn_Date Sales
07-Jan-1999 250
10-Jan-1999 535
11-Jan-1999 320
12-Jan-1999 750

而我们要找出有店面营业额以及网络营业额的日子。要达到这个目的,我们用以下的 SQL 语句:

SELECT Txn_Date FROM Store_Information
UNION ALL
SELECT Txn_Date FROM Internet_Sales;

result:

Txn_Date
Jan-05-1999
Jan-07-1999
Jan-08-1999
Jan-08-1999
Jan-07-1999
Jan-10-1999
Jan-11-1999
Jan-12-1999

union和union all的区别

区别1:取结果的并集

  1、union: 对两个结果集进行并集操作, 不包括重复行,相当于distinct, 同时进行默认规则的排序;

  2、union all: 对两个结果集进行并集操作, 包括重复行, 即所有的结果全部显示, 不管是不是重复;

区别2:获取结果后的操作

  1、union: 会对获取的结果进行排序操作

  2、union all: 不会对获取的结果进行排序操作

区别3:

  1、union看到结果中ID=3的只有一条

select * from student2 where id < 4
union
select * from student2 where id > 2 and id < 6

  2、union all 结果中ID=3的结果有两个

select * from student2 where id < 4
union all
select * from student2 where id > 2 and id < 6

总结

union all只是合并查询结果,并不会进行去重和排序操作,在没有去重的前提下,使用union all的执行效率要比union高

 

 

标签:1999,区别,UNION,用法,Jan,union,SQL,id
From: https://www.cnblogs.com/SutsuharaYuki/p/17333238.html

相关文章

  • C#中关于地址的不同写法及区别
    1.根目录stringselectedPath=AppDomain.CurrentDomain.BaseDirectory+"temp\\MaterialFiles";if(!File.Exists(selectedPath)){System.IO.Directory.CreateDirectory(selectedPath);//不存在就创建目录......
  • SOA、SaaS就是云计算么,有什么区别,三者之间有什么关系?
    随着云计算的概念受到越来越多的人的推崇和论证,“云上的日子”看起来离我们越来越近了。几乎所有的IT厂商都不约而同了启动了各自的云计算战略。但是由于每个企业的战略出发点不同,企业推出的云计算概念也有所差别。如果仅仅以自己的产品和业务为标准,片面地将云计算理解为SOA或SaaS,......
  • 并行计算、分布式计算、集群计算和网格计算的介绍,以及主要有哪些区别?
    并行计算(ParallelComputing)并行计算或称平行计算是相对于串行计算来说的。并行计算(ParallelComputing)是指同时使用多种计算资源解决计算问题的过程。为执行并行计算,计算资源应包括一台配有多处理机(并行处理)的计算机、一个与网络相连的计算机专有编号,或者两者结合使用。......
  • MySQL 时间类型 date、datetime 和 timestamp 的用法与区别
    时间范围datetime和timestamp区别时间范围不一样,TIMESTAMP要小很多,且最大范围为2038-01-1903:14:07.999999,到期也不远了。datetime与时区无关、timestamp与时区有关。对于timestamp,它把客户端插入的时间从当前时区转化为UTC(世界标准时间)进行存储。查询时,将其又转......
  • VO、DTO、Entity的区别
    只能说从实际用法的一般习惯上进行区分:1、entity里的每一个字段,与数据库相对应,注意:entity与对应的实际数据库表的字段没有强制要求但是一般建议保持一致(包括字段数据类型),当然,从实际使用中,entity也可以比对应的实际数据库表的字段少但是一定不能多2、vo里的每一个字段,是和你前......
  • 降雨预报模型和洪水预报模型的区别
    降雨预报模型是预测降雨,如WRF模型。洪水预报模型是预测洪水,如径流预报模型、新安江模型等。参考1:https://www.bilibili.com/video/BV15R4y1V7uu/参考2:https://wenku.baidu.com/view/74f4b21700d8ce2f0066f5335a8102d276a261c2.html......
  • 网友感到担忧!iOS 17支持第三方应用商店:这下跟安卓没区别了
    苹果此前官宣将于6月6日召开WWDC2023大会,按照往年的惯例,在这次大会上将会推出下一代iOS系统,也就是iOS17。最近国外有关iOS17的爆料中提到,迫于欧盟法案压力,iOS17或将支持第三方应用商店。2022年3月份,欧盟制定一份旨在规范大型互联公司运营的《数字市场法》,并且已经在11月1日正......
  • 进程上下文切换、线程上下文切换、中断上下文切换的区别
    概念​CPU上下文切换指的是CPU从一个进程或线程切换到另一个进程或线程的次数。当CPU执行一个进程或线程时,会为其建立一个执行上下文(Context),当CPU切换到另一个进程或线程时,需要保存当前的上下文并建立新的上下文,这个过程就是上下文切换。​上下文切换会......
  • addScalar的用法与作用
    作用:1.提高性能2.指定要返回哪几个字段,为指定的不返回(主要用于select*查询全部)3.也可指定返回字段的具体类型详细讲解如下:最基本的SQL查询就是获得一个标量的列表:session.createSQLQuery("select*fromperson_inf").list();session.createSQLQuery("selectid,name,age......
  • 反向代理和正向代理区别
    反向代理和正向代理区别转载:https://www.cnblogs.com/taostaryu/p/10547132.html一什么是代理代理其实就是一个中介,A和B本来可以直连,中间插入一个C,C就是中介。刚开始的时候,代理多数是帮助内网client访问外网server用的后来出现了反向代理,"反向"这个词在这儿的意思其实是指方......