【摘要】:子查询通过集合函数或者通过WHERE条件可以得到单个值,外部查询可以在条件表达式中使用该值进行比较运算。外部查询可以使用存在逻辑运算符[not]exists检查相关子查询返回的结果集中是否包含有记录。若子查询结果集中包含记录,则exists为TRUE,否则为FALSE。
4.3.5 子查询的类型
(1)使用子查询的单值进行比较运算
子查询通过集合函数或者通过WHERE条件可以得到单个值,外部查询可以在条件表达式中使用该值进行比较运算。
(2)使用子查询的一列值进行列表包含[not]in运算
若子查询返回数据表的一列值,外查询可以使用列表包含运算符in或not in与返回的该列多值进行比较。
(3)使用子查询的一列值进行列表比较ANY|ALL运算
表达式比较运算符ANY(子查询的一列值)
表达式比较运算符ALL(子查询的一列值)
该条件将表达式与子查询返回的一整列值逐一比较:
只要有一个比较成立:ANY结果为TRUE(相当于或运算)。
只有全部比较都成立:ALL结果为TRUE(相当于与运算)。
(4)相关子查询及记录的存在性[not]exists检查
相关子查询就是子查询的执行依赖于外查询,子查询根据外查询提供的数据得到结果,再将结果返回给外部查询。
外部查询可以使用存在逻辑运算符[not]exists检查相关子查询返回的结果集中是否包含有记录。若子查询结果集中包含记录,则exists为TRUE,否则为FALSE。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。