首页 > 数据库技术 > 详细

Oracle查询小结

时间:2020-05-13 22:56:08      阅读:48      评论:0      收藏:0      [点我收藏+]
本篇最近工作中常用得oracle查询语句得小结
 
oracle表复杂查询
对数据分组的总结 
1分组函数只能出现在选择列表、having、order by子句种 
2 如果在select 语句种同时包含有group by ,having ,order by 那么他们的顺序是group by , having , order by 
3 在选择列种如果有列、表达式、和分组函数,那么这些列和表达式必须有一个出现在group by 子句中,否则就会出错      
如select deptno,avg(sal),max(sal) from emp group by deptno having avg(sal)<2000; 
这里deptno就一定要出现在 group by 中
合并查询
有时在实际应用中,为了合并多个select语句的结果,可以使用集合操作符号 union , union all,intersect , minus 
 
1)union  该操作符用于取得两个结果集的并集。当使用该操作符时,会自动去掉结果集中重复行。 
select ename,sal,job from emp where sal>2500  
union 
select ename,sal,job from emp where job=‘MANAGER‘;
 
2)union all  该操作赋与union相似,但是它不会取消重复行,而且不会排序。 
select ename,sal,job from emp where sal>2500  
union all 
select ename,sal,job from emp where  job=‘manager‘;  
 
3)intersect 使用该操作符用于取得两个结果集的交集。 
select ename,sal,job from emp where sal>2500  
intersect 
select ename,sal,job from emp where  job=‘manager‘;
 
4) minus 使用该操作符用于取得两个结果集的差集,它只会显示存在第一个集合中,而不存在第二个集合中的数据。 
select ename,sal,job from emp where sal>2500 
minus  
select ename,sal,job from emp where job=‘manager‘;

Oracle查询小结

原文:https://www.cnblogs.com/zhang-liubai/p/12885206.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!