A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 严鹏 黑马帝   /  2012-2-8 21:19  /  2449 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

请问在SQL语句中,having和where的使用有什么区别?分别在什么情况下使用?

评分

参与人数 2技术分 +4 收起 理由
官方工作人员 + 3 奖励分
宋天琪 + 1

查看全部评分

6 个回复

倒序浏览
WHERE后面跟的是条件.  只有满足条件的数据才会显示出来,比如日期在上个月到昨天之间之类的HAVING是跟在GROUP BY 分组后面的。。你可以理解为GROUP BY的WHERE,他对GROUP BY分组后的数据进行条件筛选

评分

参与人数 2技术分 +4 收起 理由
官方工作人员 + 3 奖励分
宋天琪 + 1

查看全部评分

回复 使用道具 举报
WHERE是对数据库中的数据进行筛选,HAVAING是对选出的结果的筛选

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
在where中不能使用聚合函数,必须使用Having,Having要位于Group by之后,是对分组后的信息的过滤,能用的列和select中能用的列是一样的,Having无法代替where

评分

参与人数 2技术分 +4 收起 理由
官方工作人员 + 3 奖励分
宋天琪 + 1

查看全部评分

回复 使用道具 举报
where后面的是检索的条件  having通常是在group by后做为group by的条件  而且where后的条件不能加入聚合性的函数

评分

参与人数 2技术分 +4 收起 理由
官方工作人员 + 3 奖励分
宋天琪 + 1

查看全部评分

回复 使用道具 举报
看能否加聚合含数,having语句可以
回复 使用道具 举报
有点坑啊 这问题明显教程里讲的很清楚 问出这问题还+3分
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马