子查询是一个嵌套在SELECT、INSERT、UPDATE 或 DELETE 语句或其他子查询中的查询。任何允许使用表达式的地方都可以使用子查询。
三种基本的子查询
(1)在通过 IN 或由 ANY 或 ALL 修改的比较运算符引入的列表上操作。
(2)通过未修改的比较运算符引入且必须返回单个值。
(3)通过 EXISTS 引入的存在测试。
WHERE expression [NOT] IN (subquery)
WHERE expression comparison_operator [ANY | ALL] (subquery)
WHERE [NOT] EXISTS (subquery)
对子查询的限制:
(1)通过比较运算符引入的子查询选择列表只能包括一个表达式或列名称(对 SELECT * 执行的 EXISTS 或对列表执行的 IN 子查询除外)。
(2)如果外部查询的 WHERE 子句包括列名称,它必须与子查询选择列表中的列是联接兼容的。
(3)ntext、text 和 image 数据类型不能用在子查询的选择列表中。
(4)由比较运算符(即后面未跟关键
编辑器加载中...