Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 12.0.1 » SQL Anywhere 服务器 - SQL 的用法 » 查询和修改数据 » 使用子查询 » 优化程序自动将子查询转换为连接

 

跟在 ANY、ALL 或 SOME 之后的子查询

跟在关键字 ALL、ANY 或 SOME 之后的子查询称为定量比较。如果这些子查询满足以下条件,则优化程序会将其转换为连接:

  • 主查询不包含 GROUP BY 子句,并且不是集合查询,或子查询只返回一个值。

  • 子查询不包含 GROUP BY 子句。

  • 子查询不包含关键字 DISTINCT。

  • 子查询不是 UNION 查询。

  • 子查询不是集合查询。

  • 不得对合取式 'expression comparison-operator { ANY | SOME } ( subquery-expression )' 取非。

  • 必须对合取式 'expression comparison-operator ALL ( subquery-expression )' 取非。

其中的前 4 个条件相对易于理解。

 示例
 对具有 ANY 和 ALL 运算符的子查询取非
 对 ANY 和 ALL 表达式取非