SQL中Union与Union All的区别
来源:互联网 发布:淘宝介入有用吗 编辑:程序博客网 时间:2024/05/16 09:35
在写SQL查询语句时,经常会碰到类似于这种的需求:查询年龄大于60岁的男职工以及所有出生于1950年的职工。在处理这种需求时,无法使用一条简单的SQL语句查询出所有满足条件的结果,此时就需要将这种需求划分为几个小的子需求,然后将子查询得到的结果集合合并即得到了满足查询条件的结果。为了处理类似于这种的需求,SQL提供了Union和Union All操作,如下所示:
- select * from employee
- where gender='M'and year('2013-09-21')-year(birthday) > 60
- union (all)
- select * from employee
- where year(birthday)=1950
- with ur; --片段一
- create table employee(eidinteger notnull, birthday datenot null,
- gender char(1), namevarchar(100), mbltel char(13), mailvarchar(20); --片段2
- insert into employeevalues
- (1, '1989-01-01','M','李一','1345663221','1345663221@139.com'),
- (2, '1952-01-01','M','李二','1345663331','1345663331@139.com'),
- (3, '1951-01-01','F','李三','1345664311','1345664311@139.com'),
- (4, '1950-01-01','M','李四','1345662111','1345662111@139.com'),
- (5, '1950-07-01','F','李五','1345343221','1345343221@139.com'); --片段三
分别执行样例代码片段一中的Union和Union All操作,会出现以下结果:
从上面查询得到的结果我们可以看出,Union All操作仅仅是简单的将两个子查询结果集直接求并操作,并不会剔除掉两者结果集中重复的部分,而Union操作除了会剔除掉结果集中重复的部分以外,还会对结果集进行排序(其实执行的实质逻辑应该是先将某一子结果集进行排序,然后再判断是否有重复的数据,若有则删除掉重复的数据)。
小tips:由于Union需要对查询结果集进行排序操作,当数据量较大时,若非特殊需要,尽量不要使用Union操作,而改用Union All操作,然后对Union All出来的结果执行去重操作即可,这样会使得查询的效率大大的增强。
0 0
- SQL UNION 与 UNION ALL的区别
- SQL中UNION 与 UNION ALL 的区别
- SQL语句中UNION与UNION ALL的区别!
- SQL中UNION 与 UNION ALL的区别分析
- SQL中Union与Union All的区别
- SQL中Union与Union All的区别
- SQL语句中:UNION与UNION ALL的区别
- SQL UNION与 UNION ALL 区别
- SQL Server函数----Union与Union All的区别
- SQL Server函数--Union与Union All的区别
- SQL语句中Union和Union all的区别
- sql中union 和 union all的区别
- sql中union 和union all的用法和区别
- SQL中union和union all的区别?
- SQL中浅谈union、union all、Intersect、Minus的区别
- sql 中union 和union all的区别
- [SQL] Union和Union All的区别
- SQL UNION 和 UNION ALL的区别
- 东大OJ-一元三次方程解的个数
- 内核中_init,_exit中的作用
- IOS 消息机制(NSNotificationCenter)
- leetcode 刷题之路 33 Word Search
- freebsd using kqueue to monitor modifying of file
- SQL中Union与Union All的区别
- 2014年7月微软MVP名单揭晓
- manifest.xml文件
- Leetcode--Add Two Numbers
- hdu-2089-不要62
- 线段树Codeforces Beta Round #35 (Div. 2)
- 页面视频播放器
- POJ 2063 Investment (完全背包)
- ZooKeeper