码迷,mamicode.com
首页 > 数据库 > 详细

数据库中where与having区别

时间:2017-04-21 23:55:25      阅读:367      评论:0      收藏:0      [点我收藏+]

标签:pre   where   情况   信息   筛选   编号   姓名   结构   计算   

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

数据库中where与having区别

标签:pre   where   情况   信息   筛选   编号   姓名   结构   计算   

原文地址:http://www.cnblogs.com/qiaoyanlin/p/6746505.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!