一、表的关系(根据外键的数量)
1、一对一

2、一对多

3、多对多

二、多表查询(将多张表通过UNION合并->进行单表查询)
1、内连接
1.1 定义
要求两个表之间必须存在外键相等
1.2 语法
select 列 from 表1 as 别名 [inner] join 表2 别名 on 表1别名.主键 = 表2别名.外键;(标准)
select 列 from 表1 as 别名, 表2 别名 where 表1别名.主键 = 表2别名.外键;(非标准)
1.3注意:
- 以上两种语法效果相同,但是推荐 inner join系列 [标准]
- 为了避免错误数据行连接(笛卡尔积,连接查询,就是将多有行都水平拼接一遍),我们需要添加主外键相等
- 多表中可能存在相同的列名,建议对列操作的时候使用: 表名.列名 | 表的别名.列名
- 表可以在from后面起别名 表 as 别名 表 别名
2、外连接
1.1 定义
可通过左和右指定一个逻辑主表,逻辑主表的数据一定会查询到
1.2 语法
表1 别名 left | right [outer] join 表2 别名 on 主 = 外键
1.3 注意
- 内连接-> 必须存在主外键 主外键相等
- 外连接-> 指定一个逻辑主表,一定会显示全
- 外连接的outer可以省略 left join = left outer join
- 经验: 如果有逻辑主表,就将逻辑主表放在第一位, 后面全部是左外连接

被折叠的 条评论
为什么被折叠?



