在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 美元的平均价格。
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语句中where和having的区别
- SQL语句中的Having子句与where子句之区别
- SQL语句中where 1=1 对性能的影响,where 与having的区别,where子句的性能
- SQL语句中的having和where的区别
- sql语句中where与having的区别
- sql语句中的where和having的区别
- sql语句:having子句与where子句用法与区别
- sql语句中where和having的区别
- sql语句中where和having的区别
- SQL语句中的Having子句与where子句之区别
- sql语句中where与having的区别
- sql语句中where与having的区别
- sql语句中where与having的区别
- SQL语句中where和having的区别
- 数据库 sql语句中where和having的区别 、having的使用、SQL中Group By的使用
- sql语句中where和having的区别
- sql语句中where和having的区别
- sql语句中where和having的区别
- SQL语句where与having区别、内连接,外连接,左右外连接,交叉连接
- sql语句之where与having的区别