之前我们学的DQL都是单表查询,现在开始学习DQL的多表查询
不同表结构之间存在着各种联系,基本上分为一对多、多对多、一对一
一、一对多 (1)案例:部门与员工之间的关系,即员工表和部门表,部门是一的一方,员工是多的一个,一个部门对应多个员工 (2)关系:一个部门对应多个员工,一个员工对应一个部门 (3)实现:在多的一方建立外键,指向一的一方的主键
二、多对多 (1)案例:学生与课程之间的关系 (2)关系:一个学生可以选修多门课程,一门课程也可以供多个学生选择 (3)实现:建立第三张中间表,中间表至少包含两个外键,其中一个外键是关联学生表的主键,另一个外键是关联课程表之间的主键
三、一对一 (1)案例:用户与用户详情的关系 (2)关系:一对一关系,多用于单表拆分,将一张表的基础字段放在一张表中,其他详情字段放在另一张表中,以提升操作效率 (3)实现:在任意一方加入外键,关联另外一方的主键,并且设置外键的约束为唯一,即为unique