什么是嵌套查询 嵌套查询是指在一个外层查询中包含有另一个内层查询,即一个 SQL 查询语句块可以嵌套在另一个查询块的 WHERE 子句中
其中外层查询称为父查询、主查询
内层查询也称为子查询、从查询
什么是子查询 子查询是 SELECT 语句内的另外一条 SELECT 语句,而且常常被称为内查询或是内SELECT 语句
SELECT、INSERT、UPDATE 或 DELETE 命令中允许是一个表达式的地方都可以包含子查询,子查询甚至可以包含在另外一个子查询中
1.语法 子查询的句法如下: (SELECT [ALL | DISTINCT] FROM [WHERE] [GROUP BY [HAVING ]]) 2.语法规则 (1)子查询的 SELECT 查询总使用圆括号括起来
(2)不能包括 COMPUTE 或 FOR BROWSE 子句
(3)如果同时指定 TOP 子句,则可能只包括 ORDER BY 子句
(4)子查询最多可以嵌套 32 层,个别查询可能会不支持 32 层嵌套
(5)任何可以使用表达式的地方都可以使用子查询,只要它返回的是单个值
(6)如果某个表只出现在子查询中而不出现在外部查询中,那么该表中的列就无法包含在输出中
3.语法格式 (1)WHERE 查询表达式 [NOT] IN(子查询)
(2)WHERE 查询表达式 比较运算符 [ ANY | ALL ](子查询)
(3)WHERE [NOT] EXISTS(子查询)
简单嵌套查询 嵌套查询内层子查询通常作为搜索条件的一部分呈现在 WHERE 或 HAVING 子句中
例如,把一个表达式的值和一个由子查询生成的一个值相比较,这个测试类似于简单比较测试
子查询比较测试用到的运算符是:=、、、=
子查询比较测试把一个表达式的值和由子查询的产生的一个值进行比较,返回比较结果为 TRUE 的