文章目录
7. 多表关系和连接查询
7.1 一对多
1.案例:部门与员工的关系
一个部门对应多个员工,一个员工对应一个部门
2.实现:在多
的一方建立外键,指向一
的一方的主键。
7.2 多对多
1.案例:学生与课程的关系
一个学生可以选修多门课程,一门课程也可以供多个学生选择。
2.实现:建立第三张中间表,中间表至少包含两个外键,分别关联两方主键。
7.3 一对一
1.案例:用户于用户详情的关系
一对一关系,多用于单表拆分,将一张表的基础字段放在一张表中,其他详情字段放在另外一张表中,以提升效率。
2.实现:在任意一方加入外键,关联另外一方的主键,并设置外键为唯一的(unique)。
7.4 多表关系分类
1.连接查询
-
内连接:相当于查询A、B交集部分数据
-
外连接:
左外连接:查询左表所有数据,以及两张表交集部分数据。
右外连接:查询右表所有数据,以及两张表交集部分数据。
-
自连接:当前表与自身的连接查询,自连接必须使用表别名。
-
子查询
7.5 连接查询-内连接
1.隐式内连接
select 字段列表 from 表1,表2 where 条件;
#查询每一个员工的姓名及其所在部门的名称
se