sql内连接,等值连接,左连接和右连接的使用技巧(inner join and left join and right join)

以下给出一个例子

表a


表b



SELECT * FROM a LEFT JOIN b ON aid=bid

首先取出a表中所有数据,然后再加上与aid,bid相同匹配的数据,包含a表不符合的条件


同样的right join 包含b表不符合的条件


那么,内连接呢?

SELECT * FROM a INNER JOIN b ON aid=bid

不满足条件的,不管a,b表都不会显示啦


和内连接很像的,等值连接,得出的答案和相似,就是等值连接的原理是笛卡尔及,在表比较庞大的时候,效率不如内连接,这里就不做详细讨论。



题外话,试试or(将上面的bd=4改为了bd=3)

SELECT * FROM a LEFT JOIN b ON aid=bid OR aid=bd


SELECT * FROM a LEFT JOIN b ON aid=bid AND aid=bd



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值