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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 胡盼盼 中级黑马   /  2013-8-13 12:13  /  2258 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 胡盼盼 于 2013-8-13 12:13 编辑

SQL数据库中where和having的使用,两者的区别
--------where使用举例:
查询年龄大于25的,按地址进行分组,并统计每个地址的人数
*group by 需放在where之后



-------having使用举例:
错误:
having能用的列要和select中的列一样,而图中age不在select中,所以提示下面错误


正确:
查询地址,并统计每个地址的人数,按地址进行分组,最后把地址是“北京”的过滤出来



------where和having的区别:
*where是对原始数据进行过滤,而having是对分组以后的数据进行过滤,所以having替代不了where
*having不能使用select中没有的列,而where可以










3 个回复

倒序浏览
聚合函数(max,min,avg,sum,count)不能出现在where语句中{:soso_e179:}
回复 使用道具 举报
{:soso_e179:}
回复 使用道具 举报
小天 发表于 2013-8-13 14:47
聚合函数(max,min,avg,sum,count)不能出现在where语句中

多谢指点:)
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马