聚合不应出现在 WHERE 子句中,除非该聚合位于 HAVING 子句或选择列表所包含

聚合不应出现在 WHERE 子句中,除非该聚合位于 HAVING 子句或选择列表所包含  

    HAVING 子句通常与 GROUP BY 子句一起使用以筛选聚合值结果。但是 HAVING 也可以在不使用 GROUP BY 的情况下单独指定。HAVING 子句指定在应用 WHERE 子句筛选器后要进一步应用的筛选器。这些筛选器可以应用于 SELECT 列表中所用的聚合函数。

select avg(y.工资) 平均工资,x.部门名

from depart x,salary y,worker z

where x.部门号=z.部门号 and z.职工号=y.职工号

group by x.部门号,x.部门名,z.职工号

having avg(y.工资)>'1200'
posted @ 2011-09-07 11:46  流失的痕迹  阅读(14093)  评论(0编辑  收藏  举报