SET操作符(UNION/UNION ALL/INTERSECT/MINUS)
来源:互联网 发布:干部队伍结构优化 编辑:程序博客网 时间:2024/05/19 00:47
Union因为要进行重复值扫描,所以效率低。如果合并没有刻意要删除重复行,那么就使用Union All
两个要联合的SQL语句 字段个数必须一样,而且字段类型要“相容”(一致);
如果我们需要将两个select语句的结果作为一个整体显示出来,我们就需要用到union或者union all关键字。union(或称为联合)的作用是将多个结果合并在一起显示出来。
union和union all的区别是,union会自动压缩多个结果集合中的重复结果,而union all则将所有的结果全部显示出来,不管是不是重复。
Union:对两个结果集进行并集操作,不包括重复行,同时进行默认规则的排序;
Union All:对两个结果集进行并集操作,包括重复行,不进行排序;
Intersect:对两个结果集进行交集操作,不包括重复行,同时进行默认规则的排序;
Minus:对两个结果集进行差操作,不包括重复行,同时进行默认规则的排序。
可以在最后一个结果集中指定Order by子句改变排序方式。
例如:
建两张表:s1,s2
create table s1
(
id number(10),
name varchar2(20),
age number(10)
)
create table s2
(
id number(10),
name varchar2(20),
age number(10)
)
插入数据:
insert into s1 values(1,'刘备',51);
insert into s1 values(1,'刘德华',54);
insert into s1 values(3,' 张学友',54);
insert into s1 values(4,'黎明',54);
insert into s2 values(1,'刘备',51);
insert into s2 values(3,' 张飞',52);
insert into s2 values(4,'关羽',53);
1、Union:对两个结果集进行并集操作,不包括重复行,同时进行默认规则的排序;
select * from s1
union
select * from s2;
得到结果集:
ID NAME AGE
1 1 刘备 51
2 1 刘德华 54
3 3 张飞 52
4 3 张学友 54
5 4 关羽 53
6 4 黎明 54
2、Union All:对两个结果集进行并集操作,包括重复行,不进行排序;
select * from s1
union all
select * from s2;
得到结果集:
ID NAME AGE
1 1 刘备 51
2 1 刘德华 54
3 3 张学友 54
4 4 黎明 54
5 1 刘备 51
6 3 张飞 52
7 4 关羽 53
3、Intersect:对两个结果集进行交集操作,不包括重复行,同时进行默认规则的排序;
select * from s1
Intersect
select * from s2;
得到结果集:
ID NAME AGE
1 1 刘备 51
4、Minus:对两个结果集进行差操作,不包括重复行,同时进行默认规则的排序。
select * from s1
Minus
select * from s2;
得到结果集:
ID NAME AGE
1 1 刘德华 54
2 3 张学友 54
3 4 黎明 54
0 0
- SET操作符(UNION/UNION ALL/INTERSECT/MINUS)
- 集合操作,union,union all,intersect, minus
- Oracle集合操作符union、union all、intersect和minus
- 集合操作符 Union / Union All / Intersect / Minus
- Union, Union all, intersect, minus
- union、union all、intersect、minus
- Union、Union All、Intersect、Minus
- UNION ,UNION ALL ,INTERSECT ,MINUS
- oracle中Union,Union All,Intersect和Minus操作异同
- Oracle集合操作函数:Union、Union All、Intersect、Minus
- 集合操作UNION、UNION ALL、INTERSECT、MINUS区别
- 【转】UNION(ALL)/INTERSECT/MINUS
- oracle MINUS INTERSECT UNION ALL
- Oracle中的Union、Union All、Intersect、Minus
- INTERSECT MINUS UNION和UNION ALL
- Oracle Union/Union All/Intersect/Minus区别
- Oracle中的Union、Union All、Intersect、Minus
- oracle union union all intersect minus
- 数据结构个人手写栈
- java数据结构 二叉树
- Android开发之onClick事件的三种写法
- WINSOCK Win32 TCP通信
- 解决导航、Tabbar、tableview配合使用时,tableview错位的问题
- SET操作符(UNION/UNION ALL/INTERSECT/MINUS)
- nginx、springMVC中,servlet 怎么访问action
- Oracle连接池操作
- POJ 1426 Find the Multiple
- python学习列表、元组、字典
- 隐马尔科夫模型(HMM)详解
- python3 模块math(数学公式)
- hdu5100---Chessboard
- 终财悍食辟忍运堂醚腾煤闻笨叵敦