sql 中inner join和left join的区别

如题所述

说起这两种联接方式,一定要把Right Join联系起来。

一、释义。

1、Left Join(左联接)

    ä»¥å·¦è¡¨ä¸ºä¸­å¿ƒï¼Œè¿”回左表中符合条件的所有记录以及右表中联结字段相等的记录——当右表中无相应联接记录时,返回空值。
2、Right Join(右联接)    

    ä»¥å³è¡¨ä¸ºä¸­å¿ƒï¼Œè¿”回右表中符合条件的所有记录以及左表中联结字段相等的记录——当左表中无相应联接记录时,返回空值。

3、Inner Join(等值连接) 

    è¿”回两个表中联结字段相等的行。


二、示例。

1、插入测试表(test1,test2)

create table test1  --测试表1

(id int not null,

 value char(10) )

create table test2  --测试表2

(id int not null,

 value char(10) )

2、插入数据

--insert into test1

 insert into test1

 values (1,'testaa')

 insert into test1

 values (2,'testaa')

 insert into test1

 values (3,'testaa')

--insert into test2

  insert into test2

 values (1,'testaa2')

 insert into test2

 values (2,'testaa2')

 insert into test2

 values (4,'testaa2')

3、查询结果比较(附图)

 select * from test1 a left join test2 b on a.id = b.id

 select * from test1 a right join test2 b on a.id = b.id

 select * from test1 a inner join test2 b on a.id = b.id

4、删除测试表

drop table test1 

drop table test2 

温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-04-17
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本回答被网友采纳
第2个回答  2016-04-23
INNER JOIN 等价于 JOIN
你可以理解为 JOIN   是 INNER JOIN 的缩写。

LEFT JOIN 等价于 LEFT OUTER JOIN
RIGHT JOIN 等价于 RIGHT OUTER JOIN

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网