码迷,mamicode.com
首页 > 数据库 > 详细

SQL SERVER中 外联接即(left join)on 和 where 的区别

时间:2014-12-10 16:00:45      阅读:153      评论:0      收藏:0      [点我收藏+]

标签:style   color   使用   sp   strong   on   数据   ef   size   

使用内联接,无论在JOIN 子句还是 WHERE 子句中,条件具有相同的结果,但使用外联接时并非如此。

  1. 当条件在JOIN子句时,SQL SERVER包括外表的所有行,然后使用条件包括第二个表中的行。
  2. 当限制置于WHERE子句时,先执行联接,然后将where子句应用于联接行。

上述表述不是很明白 ,以下的解释更清楚。

即:ON 条件(“A LEFT JOIN B ON 条件表达式”中的ON)用来决定如何从 B 表中检索数据行。

如果 B 表中没有任何一行数据匹配 ON 的条件,将会额外生成一行所有列为 NULL 的数据。

在匹配阶段 WHERE 子句的条件都不会被使用。仅在匹配阶段完成以后,WHERE 子句条件才会被使用。它将从匹配阶段产生的数据中检索过滤。

SQL SERVER中 外联接即(left join)on 和 where 的区别

标签:style   color   使用   sp   strong   on   数据   ef   size   

原文地址:http://www.cnblogs.com/kjitboy/p/4155454.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!