a表两个字段都与b表一个字段关联_多表关联

436a0cd1f3df8260882b14aa1d878ed9.png

1. 多表关联的目的

有的字段存在于多张表中,有的字段只存在于某张表, 为了从不同表取需要的字段

2.多表关联的实质

多表关联其实就是将不同表之间的列进行合并

3.多表关联的属性特点

(1) 合并后表与表之间的字段取并集在一起,即使两个字段是相同字段,但是在pandas中,相同的字段会合并成一列

(2)用来连接的表也可以是临时表,其实连接好的表也是一张临时表

4.语法

# 内关联
select 表.字段
 from 表A
(inner)join 表B on 表A字段=表B字段
(inner)join 表C on 表C字段=表B字段
    .....
 where 条件(适用于以上所有表,可以只过滤单个表,也可以是多个表)
 group by ;

#外关联之左关联or右关联
select 表.字段
 from 表A
left join 表B on 表A字段=表B字段
    .....
 where 条件(适用于以上所有表,可以只过滤单个表,也可以是多个表)
 group by ;

(1)语法jion ....on...一定要记得带on!!!

(2)多表关联的时候,select后面一定是【表名.字段】(避免多表存在字段重复,区分出不同表的字段)

(3)必须给每个表起别名

(4)必须用相同意思的字段,字段的名字不一定一样

(5)join默认是内关联,如果需要内关联不强制加inner

5.多表关联的原理

(1)多表关联原理:迪卡尔积

假设表1有m行,表2有n行

join 无 on :

把表1中的每一行,与表2的每一行匹配,相当于表1的每一行都可以拥有表2的所有行

最终结果是m*n行记录

(2)join...on

实际运用过程中,一定要加on,是在上面形成的笛卡尔积基础上,挑选参照字段中的记录(可能是内关联,求字段记录交集;也可能是外关联,其中一个表的字段记录)

6.多表关联的连接类型

下表演示的是内关联,外关联原理相同。

cd3466700124ff1ecad87e69eb23be94.png
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值