oracle中having与where的区别
2024-10-19 01:47:04
1、where 不能放在group by 的后面
2、HAVING 是跟GROUP BY 连在一起用的,放在GROUP BY 后面,此时的作用相当于WHERE
3.WHERE 后面的条件中不能有聚集函数,比如SUM(),AVG()等,而HAVING 可以
where 条件
group by 某个或某几个字段
group by 某个或某几个字段
二、where子句
where自居仅仅用于从from子句中返回的值,from子句返回的每一行数据都会用where子句中的条件进行判断筛选。where子句中允许使用比较运算符(>,<,>=,<=,<>,!=|等)和逻辑运算符(and,or,not)。由于大家对where子句都比较熟悉,在此不在赘述。
三、having子句
having子句通常是与order by 子句一起使用的。因为having的作用是对使用group by进行分组统计后的结果进行进一步的筛选。举个例子:现在需要找到部门工资总和大于10000的部门编号?
第一步:
select deptno,sum(sal) from emp group by deptno;
筛选结果如下:
DEPTNO SUM(SAL)
------ ----------
30 9400
20 10875
10 8750
可以看出我们想要的结果了。不过现在我们如果想要部门工资总和大于10000的呢?那么想到了对分组统计结果进行筛选的having来帮我们完成。
第二步:
select deptno,sum(sal) from emp group by deptno having sum(sal)>10000;
筛选结果如下:
DEPTNO SUM(SAL)
------ ----------
20 10875
四、where与having的区别
在查询过程中聚合语句(sum,min,max,avg,count)要比having子句优先执行
where子句在查询过程中执行优先级别优先于聚合语句(sum,min,max,avg,count)
最新文章
- PHP $_SERVER[&#39;SCRIPT_FILENAME&#39;] 与 __FILE__ 的区别 有点像static 和 self的意思 !
- 250W电源带i7+GTX1080?
- ASP.NET MVC之从控制器传递数据到视图四种方式
- Webstorm2016激活码[ 转]
- JQUERY 动态时钟
- ldconfig及 LD_LIBRARY_PATH
- duck type鸭子类型
- 普林斯顿大学算法课 Algorithm Part I Week 3 排序的应用 System Sorts
- jQuery幻灯片插件Skippr
- 前端面试题(6)图片格式jpg,gif,png-8,png-24的区别,及其各自的使用场景
- 美团Java团队分享:如何实践支付通道自动化管理
- Java8新特性之三:Stream API
- 环境配置 mac安装bazel
- 004.Heartbeat+HAProxy+MySQL半复制高可用架构
- JavaScript练习 - 正反选练习
- STL_string.ZC
- asp.net mvc 全局权限过滤器及继成权限方法
- 微软收购跨平台移动开发公司Xamarin
- Backbone.js 的 View 中定义事件
- CI框架 -- URL
热门文章
- win10 去除快捷方式小箭头
- jQuery与IE兼容性问题处理
- Unity Profiler 记录
- sessionStorage 、localStorage 、 cookie 和session之间的区别
- FileSystemResource 和 ClassPathResource 有何区别
- (二十)golang--变量的作用域
- linux内核参数sysctl.conf,TCP握手ack,洪水攻击syn,超时关闭wait
- Python 文件readlines()方法
- Spring源码系列 — Bean生命周期
- virtualbox的安装与使用、安装镜像创建虚拟机