本文主要是介绍left join 和 left outer join,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
通俗的讲: A left join B 的连接的记录数与A表的记录数同
A right join B 的连接的记录数与B表的记录数同
A left join B 等价B right join A
table A:
Field_K, Field_A 1 a
3 b
4 c
table B:
Field_K, Field_B
1 x
2 y
4 z
select a.Field_K, a.Field_A, b.Field_K, b.Field_B
from a left join b on a.Field_K=b.Field_K
Field_K Field_A Field_K Field_B
---------- ---------- ---------- ----------
1 a 1 x
3 b NULL NULL
4 c 4 z
select a.Field_K, a.Field_A, b.Field_K, b.Field_B
from a right join b on a.Field_K=b.Field_K
Field_K Field_A Field_K Field_B
---------- ---------- ---------- ----------
1 a 1 x
NULL NULL 2 y
4 c 4 z --





































--





--







--































































































































--


















































































说明:table1, table2参数用于指定要将记录组合的表的名称。



LEFT OUTER JOIN = LEFT JOIN, INNERJOIN= WHERE=Join
在以下的帖子中说 INNERJOIN= WHERE=Join
http://baike.360.cn/4241488/12057813.html
http://z.baidu.com/question/46996912.html?si=1
WHERE子句中使用的连接语句,在数据库语言中,被称为隐性连接。INNER JOIN……ON子句产生的连接称为显性连接。(其他JOIN参数也是显性连接)WHERE 和INNER JOIN产生的连接关系,没有本质区别,结果也一样。但是!隐性连接随着数据库语言的规范和发展,已经逐渐被淘汰,比较新的数据库语言基本上已经抛弃了隐性连接,全部采用显性连接了。
http://www.cnblogs.com/huangzhenwu/archive/2007/03/06/665557.html
我测试过了,inner join 和用where查不多,稍微慢一些,但left join,right join速度要远快于inner join和where.
在以下的帖子中 都说 LEFT OUTER JOIN = LEFT JOIN
http://topic.csdn.net/t/20060105/09/4499011.html
http://www.javaworld.com.tw/jute/post/view?bid=21&id=145314&sty=3&age=0&tpg=1&ppg=1#145314
这篇关于left join 和 left outer join的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!