ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 在使用外连接时,on和where条件的区别

在使用外连接时,on和where条件的区别

原创 Linux操作系统 作者:grateful428 时间:2008-07-09 11:13:37 0 删除 编辑
在使用外连接时,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/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: DBA职责
请登录后发表评论 登录
全部评论

注册时间:2008-04-02

  • 博文量
    21
  • 访问量
    38714