您的位置:首页 > 数据库

在sql语句中where与having的区别

2011-07-11 19:45 337 查看
having一般跟在group   by   之后,执行记录组选择的一部分来工作的。 
where   则是执行所有数据来工作的。
having必须group   by 
having可以用聚合函数,如having   sum(qty)> 1000 
HAVING   子句与   WHERE   子句类似,但只应用于作为一个整体的组(即应用于在结果集中表示组的行),而   WHERE   子句应用于个别的行。查询可同时包含   WHERE   子句和   HAVING   子句。在这种情况下:  
首先将   WHERE   子句应用于表中的个别行或关系图网格中的表结构化对象。只对符合   WHERE   子句条件的行进行分组。
然后将   HAVING   子句应用于由分组生成的结果集中的行。只有符合   HAVING   子句条件的组才出现在查询输出中。只能将   HAVING   子句应用于也出现在   GROUP   BY   子句或聚合函数中的列。   
例如,假设联接   titles   和   publishers   表以创建一个查询,显示一组出版商出版的书的平均价格。只想看到一组特定出版商(可能只是加利福尼亚州   (CA)   的出版商)出版的书的平均价格。甚至只想看到超过   10.00   美元的平均价格。  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  sql 出版 工作 网格