一: 含义
嵌套在其他语句内部的 select 语句称之为子查询或内查询
外套的语句还可以是 insert,update,delete, 一般用 select 比较多
外面如果是 select 语句, 我们称之为外查询, 或主查询
二: 分类
1按照出现的位置
select 后面 : 仅仅支持标量子查询
from 后面: 表查询
where 或 having 后面: 标量子查询, 列子查询, 行子查询
exists 后面: 标量子查询, 列子查询, 行子查询, 表子查询
select 后面 接的是列表, 标量子查询的结果应该也是一个列表
from 后面 接的是表, 所以是表查询
2按照结果集的行列
标量子查询: 结果集为一行一列
行子查询: 结果集为 一行多列
列子查询: 结果集为一列多行
表子查询: 结果集为多行多列
三 举例
1. 标量子查询 :
- # 案例: 查询最低工资的员工姓名和工资
- select last_name,salary
- from employees
- where salary=(
- select min(salary) from employees
- );
列子查询:
- # 案例: 查询所有是领导的员工姓名
- select last_name
- from employees
- where employee_id in(
- select manager_id
- from employees
- );
来源: http://www.bubuko.com/infodetail-3025379.html