欢迎投稿

今日深度:

SQL中left join和inner join配合使用,innerjoin

SQL中left join和inner join配合使用,innerjoin


left join on 是左外联接,数据以左边的表为基准,右边的表数据哪怕为null也会查询出来,

而inner join on则是左右两边的表的数据必须相互对应,如果有null则会去掉该条数据,如果

右边或者左边表的数据都为null,则查询出来是没有结果集的。两个联接配合起来使用效果极好。

因为有些需求需要我们配合这两个联接查询。


SQL中 inner join、 left join 、right join、 outer join之间的不同

举个例子你就能知道了!
A表(a1,b1,c1) B表(a2,b2)
a1 b1 c1 a2 b2
01 数学 95 01 张三
02 语文 90 02 李四
03 英语 80 04 王五
select A.*,B.* from A
inner join B on(A.a1=B.a2)
结果是:
a1 b1 c1 a2 b2
01 数学 95 01 张三
02 语文 90 02 李四

select A.*,B.* from A
left outer join B on(A.a1=B.a2)
结果是:
a1 b1 c1 a2 b2
01 数学 95 01 张三
02 语文 90 02 李四
03 英语 80 NULL NULL

select A.*,B.* from A
right outer join B on(A.a1=B.a2)
结果是:
a1 b1 c1 a2 b2
01 数学 95 01 张三
02 语文 90 02 李四
NULL NULL NULL 04 王五

select A.*,B.* from A
full outer join B on(A.a1=B.a2)
结果是:
a1 b1 c1 a2 b2
01 数学 95 01 张三
02 语文 90 02 李四
03 英语 80 NULL NULL
NULL NULL NULL 04 王五
 

SQL server 2005 连接查询中(inner join ,left join,right join 的不同)

inner join: 内连接,结果只包含满足条件的列。
left join:左外连接,结果包含满足条件的行及左侧表中的全部行。
right join :右外连接,结果包含满足条件的行及右侧表中的全部行。
 

www.htsjk.Com true http://www.htsjk.com/shujukunews/2880.html NewsArticle SQL中left join和inner join配合使用,innerjoin left join on 是左外联接,数据以左边的表为基准,右边的表数据哪怕为null也会查询出来, 而inner join on则是左右两边的表的数据必须相互对应,如...
评论暂时关闭