记录:sql 语句 join 语法的使用理解

这段时间写了不少多表查询,难得有一些体会,赶紧记录下来

一、表数据过滤
当你想要查询两个表中都拥有的数据时可以使用 inner join

二、表数据转换
当你想用另一个表的数据替换当前表数据时可以使用 left join (right join)

三、join 的负面影响
不管是inner join 还是left join (right join) ,当两个表中都存在关联数据时,两个表数据做笛卡尔积相连
如果其中一个表中关联的字段数据不唯一时,会导致另外一个表的数据重复,所以 join 查询时尽量先将两个表的数据去重,并做好数据重复时的考虑

四、on 语句
inner join 后面的 on 条件作用于两个表,剔除掉两个表中不满足条件的数据
Left join (right join) 后面的 on 语句只作用于副表,主表数据不管是否满足条件都保留,剔除副表不满足条件的数据,当主表数据找不到匹配时,副表数据区域为 null

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值