SELECT 语句中的子查询

可以构造具有子查询的 SELECT 语句来替换两个独立的 SELECT 语句。

SELECT 语句中的子查询允许您执行各种任务,包括下列操作:
  • 将表达式与另一 SELECT 语句的结果进行比较
  • 确定另一 SELECT 语句的结果是否包含特定的表达式
  • 确定另一 SELECT 语句是否选择任何行

子查询中的可选 WHERE 子句通常用于缩小搜索条件。

子查询选择值并将值返回到第一个或外部 SELECT 语句。子查询可以不返回任何值。返回单个值或返回一组值,如下所示:
  • 如果子查询不返回任何值,那么查询不返回任何行。该子查询等价于 NULL 值。
  • 如果子查询返回一个值,那么该值的格式为一个聚集表达式或就是一行和一列。此类子查询等价于一个数字或字符值。
  • 如果子查询返回一列或一组值,那么这些值可表示一行或一列。
  • 在外部查询的 FROM 子句中,子查询可表示一组行(有时候称为派生表表表达式)。