周柃君

2020-08-19   阅读量: 1478

Mysql

横向连接和纵向合并

扫码加入数据分析学习群

关键字段可以把多张表连接成一张大表。

MySQL只支持三种连接方式:内连接和外连接(左连接和右连接)

内连接没有方向性和主副关系

数据支持三种对应方式:

1. 一对一对应:关键字段的取值有无重复值

2. 一对多对应:

3. 多对多对应:一个用户可以对应对各地址,多个用户可以填同一个地址。

学生信息表,成绩表,课程表之间的连接关系。多对多转化成一对多(学生信息表对应成绩表,课程表也对应成绩表)

为什么要拆表?(即把多对多转化为一对多)

(1)避免造成信息的隆余;

(2)查询信息的难度增加。

关系型数据的特点:分开存储,为了避免数据的隆余和信息存储过大。

例:

-- 内连接(内连接相当于两张表中的交集)

select * from t1 inner join t2 on t1.key1=t2.key2;

select * from t1 join t2 on key1=key2;-- 去掉inner默认是内连接

-- 左连接

select * from t1 left join t2 on key1=key2;-- t1是主表

-- 右连接

select * from t1 right join t2 on key1=key2;-- t2是主表

select * from t2 right join t1 on key1=key2;-- t1是主表

不管是内连接还是左右连接管件判断哪张表是主表,即主表是一样的连接结果就是一样的。


添加CDA认证专家【维克多阿涛】,微信号:【cdashijiazhuang】,提供数据分析指导及CDA考试秘籍。已助千人通过CDA数字化人才认证。欢迎交流,共同成长!
27.8703 3 0 关注作者 收藏

评论(0)


暂无数据

推荐课程