一、数据库表关系
数据库表关系有三种:
1. 一对多
适用场景:一个部门有多位员工。
实现方式:在多的一方建立外键(dept_id)指向单一方的主键(id)。
2. 多对多
使用场景:多个商品有多个购买订单。
实现方式:建立第三方中间表,包含至少两个外键,关联两表主键。
3. 一对一
使用场景:用户表中,一名用户拥有唯一个人信息,但为了提升查询速度,可能会有将不常用的信息提取出来做表拆分的情形。
实现方式:在任意一方加入唯一外键关联另一方主键。
二、多表查询
多表查询需要依据关联关系同时查询两张及以上的表,分为连接查询和子查询,其中连接查询分为内连接/外连接。
1. 内连接查询
获取AB两表相交的所有信息。
2.外连接查询
左连接:获取A表中与B表有关的信息。
右连接:获取B表中与A表有关的信息。
3.子查询
在查询中嵌套查询例如对查询到的结果进行筛选。