子查询
出现在其他语句中的select语句
分类
按照子查询出现的位置
select 后面
仅只支持标量子查询
from 后面
仅支持表子查询
where或having后面
标量子查询
列子查询
行子查询
exists后面(相关子查询)
表子查询
按结果集的行列数不同:
标量子查询:结果集只有一行一列
列子查询:结果集有一列多行
行子查询:结果集有一行多列
表子查询:结果集一般为多行多列
where或having后面
特点:
子查询放在小括号内
子查询一般放在条件右侧
子查询的执行优先于主查询执行,主查询的条件用到了子查询的结果
标量子查询:一般搭配单行操作符使用
(单行操作符一般为条件运算符)
列子查询:一般搭配多行操作符使用
(多行操作符:
in:等于列表中的任意一个
any\some:和子查询返回的某一个值比较
all:和子查询返回的所有值比较)
from后面
要求将子查询充当一张表,要求必须起别名
exists后面
exists (完整的查询语句)
结果:
1或0