left outer join 和right outer join的区别
首先 outer join 是同一个意思,然后解释 left 和 right, 举个最简单的例子,
select * from table_1 left outer join table_2 on table_1.id = table_2.id;
这句里,table_1 就是左表, table_2 就是右表, left outer join 就是以左表(table_1)当做基础,同时取右表(table_2)的id和左表(table_1)的id相同的行,如果此时右表(table_2)信息不全就会用NULL替代。
right outer join 就是把右当做基础表,然后取左表的行。
其实这三种都是表链接的方式,right 和left
join是外连接的两种方式。
select t1.col1, t2.col2 from t1
right(或者) left outer join
t2 on t1.id = t2.id。
这两个你用哪个都是无所谓的,关键是看你到底是要用那张表作为驱动表,
说的通俗一点就是如果是left,就要要把左边那张表(t1)里的列数据都查出来,不管跟第二张表有没有匹配.
如果匹配那么,结果集中就会出现col2,如果没有对应的col2,那么这一行记录就会
对应一个null
也就是这一行记录就成了col1, null
相反如果是right: null, col2
full join,就是把两种情况给综合起来.都放到结果集中.
也就是结果集中可能出现: col1, null
null, col2
col1, col2
现在你明白了么?
如果你还不明白, 你可以继续问我,其实我也就会这些基本的.
我qq: 767034769
大家一起交流一下.
鹏仔微信 15129739599 鹏仔QQ344225443 鹏仔前端 pjxi.com 共享博客 sharedbk.com
图片声明:本站部分配图来自网络。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!