多表查询格式:
select 列名列表 from 表名列表 where 条件 ...
笛卡尔积查询
标准语法
select 列名 from 表名1 ,表名2,...;
内连接查询
查询原理:内连接查询的是两张表有交集的数据部分(有主外键关联的数据)
显式内连接
标准语法
select 列名 from 表名1 [inner] join 表名2 on 条件
隐式内连接
select 列名 from 表名1,表名2 where 条件
外连接查询
左外连接
查询原理:查询左表的全部数据,和左右两张表有交集的部分数据
标准语法
select 列名 from 表名1 left [outer] join 表名2 on 条件
右外连接
查询原理:查询右表的全部数据,和左右两张表有交集的部分
基本语法
select 列名 from 表名1 right [outer] join 表名2 on 条件
子查询:查询语句中嵌套了查询语句
结果是单行单列的(可以作为条件,使用运算符进行判断)
基本语法
select 列名 from 表名 where 列名=(select 聚合查询(列名) from 表名 [where 条件]);
结果是多行单列的:使用运算符in或 not in 进行判断
基本语法
select 列名 from 表名 where 列名 [not] in (select)列名 from 表名[where 条件]);
结果是多行多列的:可以作为一张虚拟表产于查询
基本语法
select 列名 from 表名[别名],(select 列名 from 表名 [where 条件])[别名][where 条件];
自关联查询
同一张表中有数据关联,可以多次查询这张表