子查询(内查询)
出现在其他语句内部的select语句
分类:
按子查询出现的位置:
select后面:
仅仅支持标量子查询
from后面:
支持表子查询
where或having后面:
标量子查询(单行e)
列子查询(多行)
行子查询
exists后面(相关子查询)
表子查询
按结果集的行列数不同:
标量子查询(结果集只有一行一列)
列子查询(结果集只有一列多行)
行子查询(结果集有一行多列)
表子查询(结果集一般为多行多列)
一、where或having后面
-
标量子查询(单行子查询)
-
列子查询
-
行子查询
特点:
-
子查询放在括号内
-
子查询一般放在条件的右侧
-
标量子查询,一般搭配着单行操作符使用
>
< >= <= <> -
列子查询,一般搭配着多行操作符使用
in等于任意一个、any/some某一个、all所有值 -
子查询优先于主查询
二、select后面
select后面只支持标量子查询
三、from后面
将子查询结果当一张表,要求必须起别名
四、exist后面
查询结果为1或0