日期:2014-05-16  浏览次数:20331 次

左连接与右连接的区别

左联时,会全显左表的数据,如果右表没有满足的条件的数据为Null.
右联时,会全显右表的数据,如果左表没有满足的条件的数据为Null.

--关于连接的简单示例

--测试数据

**************?
table:?a???

字段:??id_a

????? ------

????????1

??????? 2

****************

****************

table:?b

字段:id_b

???? ------

?????? ?2

??????? 3

****************


--内连接
select ? * ? from???? a ? join????? b ? on ? a.id_a=b.id_b
/*--测试结果
只返回两个表中id_a与id_b相同的记录

id_a?? id_b

2????? 2



--左连接
select ? * ? from??? a ? left ? join??? b ? on ? a.id_a=b.id_b
/*--测试结果
返回a(左边表)所有的记录,及b的id_b与a的id_a对应的记录
没有对应的就用null表示

id_a?? id_b

1????? NULL
2????? 2





--右连接
select ? * ? from??? a ? right ? join??? b ? on ? a.id_a=b.id_b

/*--测试结果
返回b(右边表)所有的记录,及b的id_b与a的id_a对应的记录
没有对应的就用null表示


id_a?? id_b

?2????? 2

?NUll???3 ? ? ??