约束
外键约束
- 让表和表之间产生关系,从而保证数据的准确性
建表时添加外键约束
1 | -- 创建user用户表 |
建表后添加外键约束
1 | -- 建表后添加外键 |
删除外键约束
1 | -- 删除外键约束 |
多表查询
数据准备
1 | -- 创建db6数据库 |
笛卡尔积查询
1 | -- 查询user表和orderlist表 |
多表查询-内连接查询
内连接查询的是两张表有交集的部分数据(有主外键关联的数据)
显示内连接
1 | -- 查询用户信息和对应的订单信息 |
- 隐式内连接
1 | -- 查询用户姓名,年龄。和订单编号 |
多表查询-外连接查询
- 左外连接
- 查询左表的全部数据,和左右两张表有交集部分的数据
1 | -- 查询用户所有信息,以及用户对应的订单信息 |
- 右外连接
- 查询右表的全部数据,和左右两张表有交集部分的数据
1 | -- 查询所有订单信息,以及订单所属的用户信息 |
多表查询-子查询
- 查询语句中嵌套了查询语句–成为子查询
- 可以作为条件,使用运算符进行判断
- 结果是单行单列的
1 | -- 查询年龄最高的用户姓名 |
- 子查询- 结果是多行多列的
- 可以作为条件,使用运算符in或not in 进行判断!
1 | -- 查询张三和李四的订单信息 |
- 子查询-结果是多行多列的
- 可以作为一张虚拟表参与查询
1 | -- 查询订单表中id大于4的订单信息和所属用户信息 |
多表查询练习
查询用户的编号、姓名、年龄、订单编号
1 | SELECT |
查询所有的用户。用户的编号、姓名、年龄,订单编号
- 左外连接
1 | SELECT |
查询所有订单,用户的编号、姓名、年龄、订单编号
- 右外连接
1 | SELECT |
查询用户年龄大于23岁的信息。显示用户的编号、姓名、年龄。订单编号
1 | SELECT |
查询张三和李四用户的信息。显示用户的编号、姓名、年龄。订单编号
1 | SELECT |