日期:2014-05-17  浏览次数:20721 次

Oracle数据库
麻烦问一下Oracle数据库中where和having的区别是什么?

------解决方案--------------------
where是最简单的条件语句。比如 where age=9

having一般是同group by一起使用的,用来筛选结果,但也可以不用。
having同where的作用一样,where是用在结果集聚合之前使用,
having是用在结果集聚合之后使用。select c1,max(c2),max(c3) from t1group by c1having max(c2) > 100
------解决方案--------------------
一楼正解,楼主可以不太用考虑having的,用的少。
------解决方案--------------------
where是限制行的, having是限制组的 。
若果没有分组那么两者没区别。

若果分组了,where先筛选所有数据,筛选后的数据分组, having 用来筛选符合条件的组。

having很常用。
------解决方案--------------------
自己没百度、谷歌之前,还是别在这发帖!
------解决方案--------------------
建议楼主结合上面各层的解释,自已动手去实践下,才能真正做到记心里和理解透!