数据库中where与having区别~~~
来源:互联网 发布:mysql 指定ip配置 编辑:程序博客网 时间:2024/04/30 14:03
1、where和having的执行级别不同
在查询过程中聚合语句(sum,min,max,avg,count)要比having子句优先执行.而where子句在查询过程中执行优先级别优先于聚合语句(sum,min,max,avg,count)。having就是来弥补where在分组数据判断时的不足。因为where执行优先级别要快于聚合语句。
2、where和having的用途不同
having 和where 都是用来筛选用的
having 是筛选组 而where是筛选记录
他们有各自的区别
1》当分组筛选的时候 用having
2》其它情况用where
-----------------------------------------------------
用having就一定要和group by连用,
用group by不一有having (它只是一个筛选条件用的)
-------------------------------------------------------
例子
表结构
部门编号 姓名 工资
1 aa 2000
2 bb 1200
1 cc 2100
2 dd 1800
1 ee 2100
3 ff 8000
2 gg 2200
3 hh 4500
查询有多个员工的工资不低于2000的部门编号
(就是说如果一个部门的员工大于2000的人数有两个或两个以上就查询出来)
select 部门编号,count(*) from 员工信息表
where 工资>=2000
group by 部门编号
having count(*)>1
where 针对每一条记录筛选
而 having 对同一个部门的分组
count(*)>1 计算多于两个的部门
查询结果为
1 3
3 2
0 0
- 数据库中having 与where的区别
- 数据库中where与having区别~~~
- 数据库中having和where的区别
- SQL中Where与Having的区别
- oracle中,having与where区别
- SQL中Where与Having的区别
- SQL中where与having的区别
- SQL中where与having的区别
- Mysql中where与having的区别
- SQL中Where与Having的区别 .
- SQL中Where与Having的区别
- SQL中Where与Having的区别
- Sql中 Having与Where的区别
- mysql中where与having的区别
- SQL中Where与Having的区别
- where与having区别
- having 与where区别
- where 与 having 的区别
- 设计模式系列之十:命令模式
- A very Nice Linux System, its name is Korora
- Guava之ListenableFuture(链式回调)
- Java的JAR包, EAR包 ,WAR包内部结构
- 设计模式系列之十一:装饰者模式
- 数据库中where与having区别~~~
- 该如何设置iMindMap中的幻灯片背景
- Java中int,float,long,double取值范围,内存泄露
- HOOK API入门之Hook自己程序的MessageBoxW
- 第五周项目三 时间类(1)
- 垃圾回收基本算法
- 图像视觉领域部分开源代码
- 柏达通是真的吗?网店骗子骗局防不胜防
- http://blog.csdn.net/friendan/article/details/12226201