热线电话:13121318867

登录
2020-08-19 阅读量: 2082
横向连接和纵向合并

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

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是主表

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


27.8703
0
关注作者
收藏
评论(0)

发表评论

暂无数据
推荐帖子