数据库中where与having区别~

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/24 04:56:17
数据库中where与having区别~
xT]OA+iصML@&6}iBERAl0.&"c:wvy/t>/F^swν2== 21Dh㻵M̞Gec ~^p`Cѥ?&slm20 2`'e{hk>U簔wzLG;2fWGdr4MoCENzODIppA$j5bVD8?ۓF̸cb16cmUFҿӋu%w/Z2=Ɉ4ݝVm׀ge,^+ + :;B!P[YelVWaA%Uuh^qvgOy[5f~?dދ{1 "v:_v.~.MuLGbA&z-Fي\Q߸ wL6׳^߇C0_'\x&b@f"&Mr%߉˳[|Wre&Ô9~X5NaP,5D)1IdSUc:?L}6ϰb[!wtҰ߻-*wK

数据库中where与having区别~
数据库中where与having区别~

数据库中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
另外,站长团上有产品团购,便宜有保证