数据库中having 和where有什么区别

 我来答
彦枫组织572n
2014-04-28 · 超过61用户采纳过TA的回答
知道答主
回答量:119
采纳率:0%
帮助的人:147万
展开全部
Having是筛选组,where是筛选记录。 可以这样理解:Having是先分组在进行筛选,而where是先筛选再进行分组。 对于有Group by子句的SQL语句,切记与Having组合使用。但不一定要有Having子句。 一般情况下分组筛选的时候用Having,其他情况下用where。 select class_num,count(*) from student where score>=85 group by class_num having count(*)>1 查询有多个学生的成绩大于等于85分班级编号。(也就是说如果一个班级的学生成绩大于85那么他就查询出来)。 where针对每一条记录进行筛选,而Having对班级的分组,count(*)>1计算多于两个的班级。
奶瓶君434
2014-04-28 · TA获得超过170个赞
知道答主
回答量:132
采纳率:0%
帮助的人:139万
展开全部
where和having其实后面都是跟条件。区别在于:在他们后面的条件里如果有count之类的聚合函数的时候只能使用having而不能使用where。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式