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是主表
不管是内连接还是左右连接管件判断哪张表是主表,即主表是一样的连接结果就是一样的。






评论(0)


暂无数据
推荐帖子
0条评论
0条评论
0条评论