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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 王路路 中级黑马   /  2012-10-23 01:54  /  1700 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

where子句是对原始数据进行过滤,having子句是对分组后的数据进行过滤。
where子句跟having子句中分别能查询具有那些特征的列?

评分

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

查看全部评分

2 个回复

倒序浏览
•WHERE 子句用来筛选 FROM 子句中指定的操作所产生的行。
•HAVING 子句用来从分组的结果中筛选行。
对于可以在分组操作之前或之后应用的搜索条件,在 WHERE 子句中指定它们更有效。这样可以减少必须分组的行数。应当在 HAVING 子句中指定的搜索条件只是那些必须在执行分组操作之后应用的搜索条件。

评分

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

查看全部评分

回复 使用道具 举报
这两个语句有着本质的区别:Where语句用于SQL中有限定条件的地方。比如:
Select * from 表名 where 查询限定条件.
Update,Delete等类似,意思是我要查哪个范围内的数据,要更新哪个范围内的数据和删除哪个范围内的数据;
而having子句用于对分组后的信息进行过滤.用法如下:
select name,age,count(*) from T_Person group by age having count(*)>2.

评分

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

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马