Day32
一、多表连接
1、两个表之间的关系
(1)一对一
(2)一对多
(3)多对多
2、外键
定义:是引用另一个表中的一列或多列,被引用的列应该具有主键约束或唯一性约束。
作用:建立和加强两个表数据之间的链接。
3、连接的类型
(1)交叉连接:笛卡尔积
(2)内连接(等值连接):用于一对多的情况,
标准格式:select 查询字段 from 表1,表二 where 表一.关系字段 = 表二.关系字段
例如:select * from pet,emp where pet.ren=emp.empno
(3)左连接:
关键字:left join on
标准格式: select 查询字段 from 表一 left join 表二 ON 表一.关系字段 = 表二.关系字段
展示出表一中的所有内容,与之相对应的表二有匹配的就显示,没有匹配的就null。
例如: 查看所有员工及其宠物信息
select * from emp e left join pet p ON e.empno=p.ren
(4)右连接
关键字:right join on
标准格式: select 查询字段 from 表一 right join 表二 ON 表一.关系字段 = 表二.关系字段
展示出表二中的所有内容,与之相对应的表一有匹配的就显示,没有匹配的就null。
例如: 查看所有宠物及其主人信息
select * from emp e right join pet p ON e.empno=p.ren
(5)全连接
关键字:union
标准格式:select 查询字段 from 表一 left join 表二 ON 表一.关系字段 = 表二.关系字段union select 查询字段 from 表二 right join 表一 ON 表一.关系字段 = 表二.关系字段
将左连接和右连接合在一起,从而达到全连接的目的
例如:select * from emp e left join pet p ON e.empno=p.ren UNION select * from emp e right join pet p ON e.empno=p.ren
Day32
最新推荐文章于 2024-05-19 14:14:58 发布