当前位置: 首页 > 面试题库 >

空运算符上的ALL运算符VS Any

危裕
2023-03-14
问题内容

我正在阅读有关ANY和ALL运算符的oracle文档。除了一件事,我非常了解它们的用途。它指出:

全部 :

如果子查询返回零行,则条件的计算结果为TRUE。

任何 :

如果子查询返回零行,则条件的计算结果为FALSE。

在我看来,这不是很合逻辑。为什么在一个空子查询上的ALL将返回TRUE,而ANY返回FALSE?

我是SQL的新手,所以我认为它会有一个用例来说明这种行为,这对我来说确实是违反直觉的。

空集上的ANY和ALL应该返回相同的值吗?


问题答案:

因为ANY将被解释为EXIST(如果存在,则表示它们存在)。因此,如果未找到任何行,则返回false。

All不能证明存在任何值,而只是证明它代表所有可能的值。因此,即使没有找到行,它也会返回true。



 类似资料:
  • 主要内容:Oracle ALL操作符简介,Oracle ALL运算符示例在本教程中,您将学习如何使用Oracle 运算符将值与列表或子查询进行比较。 Oracle ALL操作符简介 Oracle 操作符用于将值与子查询返回的值列表或结果集进行比较。 以下显示了与列表或子查询一起使用的运算符的语法: 在这个语法中, ALL运算符前面必须有一个运算符,例如:,,,,,,后跟一个列表或子查询。 列表或子查询必须用圆括号包围。 使用运算符将值与列表进行比较时,Oracle将初

  • MariaDB 操作符与操作符相同,但不会删除重复的记录。它返回查询中的所有行,并且不删除各种语句之间的重复行。 语法 注意:运算符中的每个语句在具有相似数据类型的结果集中必须具有相同数量的字段。 1. 使用UNION ALL操作符返回单个字段 下面来看一个从多个语句返回一个字段的运算符的例子。(两个表具有相同的公共字段)。 假设有两张表:和。对应的表结构和数据如下 - 表中的数据: 表中的数据:

  • 本文向大家介绍JavaScript 空运算符,包括了JavaScript 空运算符的使用技巧和注意事项,需要的朋友参考一下 示例 的void运算符计算给定表达式,然后返回undefined。 语法: 返回值: undefined 描述 的void操作者通常用于获得undefined原始值,通过写入的装置void 0或void(0)。请注意,它void是一个运算符,而不是一个函数,因此()不是必需的

  • 有人能解释一下PHP中三元运算符速记()和空合并运算符()之间的区别吗? 他们什么时候表现不同,什么时候表现相同(如果发生的话)? VS。

  • 问题内容: 有人可以解释PHP中的三元运算符速记()和空合并运算符()之间的区别吗? 它们什么时候表现不同,什么时候以相同的方式表现(如果甚至发生)? VS。 问题答案: 当您的第一个参数为null时,它们基本相同,不同之处在于,当您有未定义的变量时,null合并不会输出。在PHP7.0迁移的文档有这样一段话: 对于需要将三元数与isset()结合使用的常见情况,已将空合并运算符(??)添加为语法

  • 我试图将我的模板化类的模板化成员函数的声明和定义分开,但最终出现了以下错误和警告。 ../HW06/BigUnsigned.h:13:77:警告:友元声明“std::oStream&operator<<(std::oStream&,const BigUnsigned&)”声明了一个非模板函数[-wnon-template-friend]友元std::oStream&operator<<(std::