子查询
子查询:sub query
,查询是在某个查询结果之上进行的,一条select
语句内部包含了另外一条select
语句。
分类
子查询有两种分类方式,分别为:按按结果分类和位置分类。
按结果分类,即根据子查询得到的数据进行分类(理论上,任何一个查询结果都可以理解为一个二维表),分别为:
- 标量子查询:子查询得到的结果是一行一列,出现的位置在
where
之后; - 列子查询:子查询得到的结果是一列多行,出现的位置在
where
之后; - 行子查询:子查询得到的结果是多行一列(多行多列),出现的位置在
where
之后; - 表子查询:子查询得到的结果是多行多列,出现的位置在
from
之后。
按位置分类,即根据子查询(select
语句)在外部查询(select
语句)中出现的位置进行分类,分别为:
from
子查询:子查询出现在from
之后;where
子查询:子查询出现在where
条件之中; <