左外连接/右外连接

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

a表有数据如下:

Aid name

1    a

2    b

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表为标准的。

转载于:https://www.cnblogs.com/k-iss/p/4535137.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值