1.定义:出现在其他语句中的select语句,称为子查询或内查询
外部的查询语句,称为主查询或外查询
2.分类:
①按子查询出现的位置:
(I)select后面:仅仅支持标量子查询
(II)from后面:支持表子查询
(III)where或having后面:支持标量子查询(单行)、列子查询(多行)、行子查询(较少)(重点)
(IV)exists后面(相关子查询):支持表子查询
②按结果集的行列数不同
(I)标量子查询(结果集只有一行一列)
(II)列子查询(结果集只有一列多行)
(III)行子查询(结果集一行多列)
(IV)表子查询(一般多行多列)
1.支持标量子查询(单行子查询)
2.列子查询(多行子查询)
一般搭配着多行操作符使用:
in、any/some、all
3.行子查询(多列多行)
4.特点:①子查询放在小括号内
②子查询一般放在条件的右侧
③标量子查询,一般搭配着单行操作符使用:
仅仅支持标量子查询
将子查询结果充当一张表,要求必须起别名
exists(完整查询语句)功能为判断真假,结果为1或0
假设select employee_id from employees里面有数据,则最后结果为1,否则为0
一、语法
select 查询列表
from 表1 别名
join 表2 别名
on 连接条件
where 筛选条件
group by 分组
having 分组后筛选
order by 排序列表
limit 起始条目索引,显示的条数目
执行顺序
1.from
2.join
3.on
4.where
5.group by
6.having
7.select
8.order by
9.limit
二、特点
1.起始条目索引如果不写,默认从0开始
select *from employees limit 0,5;
select *from employees limit 5;
这两句等价,都是查询前五条信息
2.limit后面支持两个参数
参数1:显示起始条目索引
参数2:条目数
一、概念
当查询结果来自多张表,但多张表之间没有关联,这个时候往往使用联合查询,也称为union查询
二、语法
select 查询列表 from 表1 where 筛选条件
union
select 查询列表 from 表2 where 筛选条件
union自动去重