一、多表
1、表与表之间的关系与实现
1.1、一对一
实现:在任何一方添加外键指向另一方法的主键
1.2、一对多
实现:在多的一方建立外键,指向一的一方的主键
1.3、多对多
实现:需要借助第三张中间表。中间表至少要包含两个字段,这两个字段都是外键,分别指向两张主表的主键。
二、多表查询
2.1、交叉查询
语法:select 字段列表 from 表1, 表2;
交叉查询的结果是笛卡尔积,是两张表所有记录的组成情况。
我们需要使用条件来去除掉无用的数据。
2.2、内连接查询
在交叉查询的基础上使用where条件消除无用的数据
语法: 1. 隐式内连接
select 字段列表 from 表1, 表2 where 条件;
2、显示内连接
select 字段列表 from 表1 [inner] join 表2 on 条件;
2.3、外连接查询
语法:
1. 左外连接
select 字段列表 from 表1 left [outer] join 表2 on 条件;
2、右外连接
select 字段列表 from 表1 right [outer] join 表2 on 条件;
内连接查询的结果是两表的交集
左外连接查询的结果是左表的全部和两表的交集
右外连接查询的结果是右表的全部和两表的交集
三、子查询
概念:查询中嵌套查询
网友评论