左外链接/右外链接

假设a表有两个字段,Aid、name,  b 表也有两字段 Bid,nameid 其中 nameid是Aid在b 表中的外键spa

a表有数据以下:select

Aid name数据

1    aco

2    bjoin

3   c

b表有数据以下:

Bid nameid

1    1

2    1

3    1

4    2

5    2

用左链接,说白一点就是以左边那个表为标准,左边那表(表a)的全部记录必须得所有出现

例如: select * from a left join b on a.Aid=b.nameid 结果应应该为:

Aid name Bid nameid

1    a       1    1

1    a       2    1

1    a       3    1

2    b       4    2

2    b       5    2

3    c     NULL  NULL

表a 的 Aid为1的出现了三次,Aid为2的出现了两次,Aid为3的出现了一次,所有都出现了。

但由于在表b中没有以Aid为3对应的记录,因此用null来填充。

一样道理,用右链接,说白一点就是以右边那个表为标准, 例如:select * from a right join b on a.Aid=b.nameid 结果应该为:

Aid name Bid nameid

1    a       1    1

1    a       2    1

1    a       3    1

2    b       4    2

2    b       5    2

表b的记录必须所有出现,但没有出现 a表中Aid为3的记录,是由于b表中没有以之对应的记录,并且此时是以b表为标准的。

相关文章
相关标签/搜索