oracle集合运算_10级 学员 马林 课堂总结

 
集合运算

10级 学员 马林 课堂总结
集合操作符
1.      UNION/UNION ALL 并集

UNION运算符返回两个集合去掉重复元素后的所有记录
我们以查询姓名中含有A或者M的人的列为例
例:
select ename from where ename like ‘%A%’
union
select ename from where ename like ‘%M%’;
结果为

 

UNION ALL运算符返回两个集合的所有记录
我们以查询姓名中含有A或者M的人的列为例
 
select ename from where ename like ‘%A%’
union all
select ename from where ename like ‘%M%’;
结果为

 
通过上面的结果的对比很容易看出用了UNION ALL查询的结果比使用了UNION查询的结果多了3行记录。所起UNION ALL运算符返回两个集合的所有记录而UNION运算符返回两个集合去掉重复元素后的所有记录。
 
2.      INTERSECT 交集

INTERSECT 运算符返回同时属于两个集合的记录
显示薪水同时位于级别1(700~1300)和级别2(1201~1400)的员工信息。
Select ename,sal from emp where sal between 700 and 1300
INTERSECT
Select ename,sal from emp where sal between 1201 and 1400;
 
              结果为
              
       此结果查询的是工资在1201-1300之间的员工信息,即1201-1300就是上面查询语句的条件的交集。
3.      MINUS 差集

MINUS返回属于第一个集合,但不属于第二个集合的记录。
显示薪水同时位于级别1(700~1300)和级别2(1201~1400)的员工信息。
Select ename,sal from emp where sal between 700 and 1300
INTERSECT
Select ename,sal from emp where sal between 1201 and 1400;
结果为

集合运算符的注意事项
a)      select 语句中参数类型和个数要一致。
b)      可以使用括号改变集合执行的顺序
c)      集合运算符采用第一个语句的表头作为表头
d)      Order by 子句只能出现在最后一个语句上,第一个select语句接受的列名的列、名称或者别名(查询结果的列名)order by子句必须与第一个select语句的列名相同
 
 



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值