在使用外连接时,on和where条件的区别如下:
1、 ON 子句规定,只有在同时on后面所有条件时才发生连接。当 ON 子句条件之一为 false时,将用null替换相应的行。
2、where条件是先进行过滤再进行外连接,这样那些不为真的根本不会放进来
举例如下:
where示例:

on示例:

ON 子句规定,只有在同时满足 P.DEPTNO = D.DEPTNO 和 P.DEPTNO = 'D01' 两个条件时才发生连接。当 ON
子句为 false(也就是 P.DEPTNO <> 'D01' )时,那些从替换 NULL 的表选中的列对应的行上将换成
NULL。类似的,当 P.DEPTNO 是 'E01' 时,那么 ON 子句的第 1
个元素就失败了,来自左表的行将被保留,而来自右表的行将替换为 NULL。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/11795524/viewspace-374698/
,如需转载,请注明出处,否则将追究法律责任。