黑马程序员技术交流社区

标题: SQL数据库中where和having的使用及区别 [打印本页]

作者: 胡盼盼    时间: 2013-8-13 12:13
标题: SQL数据库中where和having的使用及区别
本帖最后由 胡盼盼 于 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可以











作者: 小天    时间: 2013-8-13 14:47
聚合函数(max,min,avg,sum,count)不能出现在where语句中{:soso_e179:}
作者: 彭家贰小姐    时间: 2013-8-13 15:07
{:soso_e179:}
作者: 胡盼盼    时间: 2013-8-13 15:43
小天 发表于 2013-8-13 14:47
聚合函数(max,min,avg,sum,count)不能出现在where语句中

多谢指点:)




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2