where、having和on的区别
2017-01-17 11:26
211 查看
where、having和on的区别
having 与where 子句类似,均用于设置限定条件,where子句的作用是在对查询结果前,将不符合where条件的行去掉,条件中不能包含聚合函数,使用where条件显示特定的行。having子句作用是筛选满足条件的组,限制返回的结果集,即在分组之后过滤数据,条件中经常包含聚合函数,使用having 条件显示特定的组,也可以使用多个分组标准进行分组。
例如:
select deptno,sum(sal) from emp where sal>1200 group by deptno having sum(sal)>8500 order by deptno
在使用left jion时,on和where条件的区别如下:
1、 on条件是在生成临时表时使用的条件,它不管on中的条件是否为真,都会返回左边表中的记录。
2、where条件是在临时表生成好后,再对临时表进行过滤的条件。这时已经没有left join的含义(必须返回左边表的记录)了,条件不为真的就全部过滤掉。
参考资料1:Oracle中group by用法
参考资料2:left join on 和where条件的放置
相关文章推荐
- on、where、having的区别(转载)
- ON、WHERE、HAVING的区别
- on、where、having的区别(转载)
- ON、WHERE、HAVING的区别
- on、where、having的区别
- on、where、having的区别
- 笔试中常问到的数据库问题,sql中on、where、having的区别
- on、where、having的区别
- Oracle On 、Where、Having 区别
- ON、WHERE、HAVING的区别
- SQL中on条件与where条件的区别 (having)
- on、where、having的区别
- sql语句 on, where, having的区别
- join、on、where、having的使用区别
- sql中on where having的区别
- on、where、having的区别
- 外连接 ON 条件的三个作用 SQL中on条件与where条件的区别
- GROUP BY,WHERE,HAVING之间的区别和用法
- sql语句中left join、inner join中的on与where的区别
- SQL中on条件与where条件的区别