空查询上的 ALL 运算符 VS Any

2023-11-24

我正在读甲骨文文档在 ANY 和 ALL 运算符上。我很了解它们的用途,除了一件事。它指出:

ALL :

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

ANY :

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

对我来说这似乎不太符合逻辑。为什么空子查询上的 ALL 将返回 TRUE,而 ANY 将返回 FALSE?

我对 SQL 比较陌生,所以我认为它会有一个这种行为的用例,这对我来说确实违反直觉。

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


考虑以下示例EMP该链接中的表。

具体来说这个查询 -

SELECT e1.empno, e1.sal
FROM   emp e1
WHERE  e1.sal > ANY (SELECT e2.sal
                     FROM   emp e2
                     WHERE  e2.deptno = 20);

如果是 ANY,您要问的问题是“我的薪水是否比 20 部门中的任何人(至少 1 人)都高”。这意味着你希望最后一个别人的工资比你低。当没有行时,返回FALSE因为没有人的薪水比你低,你希望至少有一个。

如果是 ALL,您会问的一个明显问题是“我的薪水比每个人都高吗?”。将其改写为“没有人的薪水比我高吗?”当没有返回行时,你的答案是TRUE,因为“确实没有人的工资比我高。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

空查询上的 ALL 运算符 VS Any 的相关文章

  • SqlCommand 参数与 String.Format [重复]

    这个问题在这里已经有答案了 我一直在互联网上搜索 但似乎找不到任何可以解释我的问题的内容 可能是我没有使用正确的搜索字符串 所以我在这里发帖希望有人可以帮助我有了这个 我的程序是使用Visual Studio 2010用C 编写的 我注意到
  • 授予用户在查询时使用表索引的什么?

    我想知道当用户从表中查询数据并且该用户已被授予以下权限时 oracle 是否使用索引 grant select on table to user 我想知道是否需要其他拨款才能使用索引 不 没有要求 或能力 授予对索引的访问权限 如果用户可以
  • 使用 WHILE 创建虚拟数据

    我尝试使用 a 在表中插入一些虚拟数据WHILE 但它运行得非常非常慢 我在想也许我写的代码不正确 你能看一下并确认一下吗 Insert dummy data DECLARE i int Content int SET i 5001 WHI
  • 从表中删除孤儿

    我正在尝试清理一张有很多孤立项目的桌子 我通过查找空值来检查是否与另一个表存在关系来解决此问题 DELETE FROM table1 LEFT JOIN table2 ON table1 ID table2 ID WHERE table2
  • 如何授予所有表的 REFERENCES 权限

    我必须授予REFERENCES登录权限说sql login 我可以给予资助REFERENCES对单个表的权限 例如 GRANT REFERENCES ON Mytable TO sql login 有什么办法可以授予REFERENCES允许
  • 模式更新后 jOOQ 生成的类的运行时验证?

    我用org jooq util DefaultGenerator在构建过程中生成 jOOQ 类来表示我的数据库模式 当应用程序运行时 架构预计会在应用程序不知情的情况下发生更改 此类更改可能与已生成的代码兼容 也可能不兼容 如何在运行时检测
  • 限制 SQL Server 连接到特定 IP 地址

    我想将 SQL Server 实例的连接限制为特定 IP 地址 我想阻止来自除特定列表之外的任何 IP 地址的任何连接 这是可以在 SQL Server 实例或数据库中配置的东西吗 听起来像是你会使用Windows防火墙 http tech
  • TOAD 将 &String 视为绑定变量

    我正在使用 Oracle Data Integrator 开发一些 ETL 有时会使用 TOAD 测试部分代码 今天我遇到了 TOAD 的问题 我有一行像 AND column value like DEV PROD 当我尝试运行包含上面过
  • Oracle 中的 SQL 调优 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 是否有任何文章 链接可以让我找到 SQL 调优 Oracle 的示例 如果能用例子来解释那就太好了 我需
  • 获取家庭成员

    假设以下家庭 其构建架构是 create table PersonConn child int parent int insert into PersonConn values 1 2 insert into PersonConn valu
  • 查询中列的顺序重要吗?

    当从 MySQL 表中选择列时 与表中的顺序相比 选择列的顺序是否会影响性能 不考虑可能覆盖列的索引 例如 您有一个包含行 uid name bday 的表 并且有以下查询 SELECT uid name bday FROM table M
  • 根据表sql中的行替换字符串中的字符

    我需要用一些映射的字符替换字符串中的字符列表 我有一个表 dbo CharacterMappings 有 2 列 CharacterToFilter 和 ReplacementCharacter 假设这个表中有3条记录 Filter Rep
  • 复选框上的数据绑定

    我目前正在将数据从 SQL 数据库之一提取到我的应用程序中 我可以让它适用于我的文本框和其他项目 但是 我似乎无法让它适用于复选框 这是我正在使用的代码 DataTable dt new DataTable dt using SqlConn
  • 如何在 SQL Server 中使用 nvarchar 变量为 unicode 用户添加前缀“N”?

    如何在 SQL Server 中使用 nvarchar 变量为 unicode 用户添加前缀 N 例如 给定这个变量 declare Query1 nvarchar max 我可以这样分配它 set Query1 N 但是如果我想使用怎么办
  • SQL 删除表并重新创建并保留数据

    在我们最初的设计中 我们搞砸了表中的外键约束 现在表已充满数据 我们无法在不删除表中所有记录的情况下更改它 我能想到的唯一解决方案是创建一个备份表并将所有记录放在那里 然后删除所有记录 更改表并开始将它们添加回来 还有其他 更好 的想法吗
  • sql server 按组排名

    问题看似简单 但我却无法理解 这是针对 sql 服务器的 what I have in a table What I need as a output cksum id cksum id 2162514679 204 2162514679
  • APEX 安装失败,PLS-00201:必须声明标识符“SYS.DBMS_DB_VERSION”

    尝试在 Oracle XE 18c 数据库上安装 Oracle APEX 20 2 如下官方说明 https docs oracle com en database oracle application express 20 1 htmig
  • 了解 SSMS 2008 中关系的更新和删除规则

    当我们定义外键约束时 我对 SQL Server 2008 Management Studio 中的更新和删除规则的含义感到困惑 我也没有找到相关的帮助文档 例如F1帮助 这是屏幕快照 如果有人能描述它们的含义并推荐一些相关文档来阅读 我将
  • 如何从 PostgreSQL 中的时间戳列值提取一天中的时间(或小时)?

    我正在尝试从 PostgreSQL 中的 时间戳 列中提取一天中的时间 这是我的做法 但是 太糟糕了 知道如何做得更好吗 SELECT date part hour date demande text hours date part min
  • 对多个数据库执行 SQL 查询

    我知道我的帖子与该论坛中的其他帖子的标题非常相似 但我真的找不到我需要的答案 这是我的问题 我的 Windows Server 上运行着 SQL Server 在我的 SQL Server 中 我有大约 30 个数据库 它们都具有相同的表和

随机推荐

  • 如何在我的网络服务器上检测移动客户端?

    当http请求到达我的服务器时 我如何检测它是否来自iphone android或其他设备 您可以获取用户代理 这表明它是什么浏览器类型 iphone chrome 即任何浏览器 来帮你 http whatsmyuseragent com
  • 使用ggplot2的stat_密度_2d仅显示高密度区域

    我想将 stat 密度2D 函数与分类变量一起使用 但将绘图限制在高密度区域 以减少重叠并提高易读性 我们以以下数据为例 plot data lt data frame X c rnorm 300 3 2 5 rnorm 150 7 2 Y
  • C++:使用向量/数组优化速度?

    我有一个嵌套的 for 循环结构 现在我在每次迭代开始时重新声明向量 void function n1 n2 bound etc for int i 0 i
  • 将 InputStream 读入 Data 对象

    在 Swift 3 x 中 我们通常使用以下方式处理二进制数据Data 从它你可以生成大多数其他重要的类型 并且它上面有有用的函数 但我如何创建一个Data从一个InputStream 有什么好的办法吗 我找不到好的方法 我们可以围绕不安全
  • 什么编程语言最像英语? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心以获得指导 我主要是一名Python程
  • Bootstrap 4 与远程 Modal

    我无法使用新的 Twitter Bootstrap 版本 Bootstrap 4 alpha 让 Modal 在远程模式下工作 它与 Bootstrap 3 完美配合 使用 Bootstrap 4 我收到弹出窗口 但模型主体未加载 没有进行
  • 实施 Azure 共置缓存

    使用 VS2012 我从 WebRole Properties Caching Tab 添加了缓存功能 其中 它在 web config 中生成了以下 XML
  • 复合视图模型对象导致远程验证失败

    我在这个项目中的一些表单中使用了复合视图模型的模式 它运作得很好 在本例中 我有一个 VendorAddress 视图模型 我在这个项目的几个地方使用了 Address es 因此我制作了可以重复使用的 Address 视图模型对象 然后我
  • Airflow:为每个文件运行 DAG 的正确方法

    我有以下任务需要解决 文件通过端点不定期发送并存储在本地 我需要为每个文件触发 DAG 运行 对于每个文件 将执行相同的任务 总体流程如下 对于每个文件 运行任务 A gt B gt C gt D 正在批量处理文件 虽然这项任务对我来说似乎
  • 鼠标按下。兄弟姐妹 event.targets 上的传播

    我有 2 个具有 绝对位置 的兄弟节点 它们都处理 mousedown 事件 当我单击 div 2 的透明区域 如图所示 时 如何触发 div 1 的处理程序 如果重叠元素是动态的 我认为不可能使用常规事件冒泡来完成此操作 因为所讨论的两个
  • Azure Fluent API 创建 SQL Server 时出错 - 缺少 x-ms-request-id 标头

    我正在尝试使用 Azure Fluent API 创建一个新的 SQL Server https github com Azure azure sdk for net tree Fluent 但我总是得到 Microsoft Rest Az
  • 如何在代码中使用 wsDualHttpBinding 设置 WCF 客户端?

    我需要连接到我编写的 WCF 服务 而无需为我正在编写的客户端应用程序部署 app config 然而 我一直在努力弄清楚如何在代码中从客户端进行设置 据我所知 有人知道我需要做什么才能让它发挥作用吗 我真的很感激 这是我到目前为止得到的代
  • 如何在 Python 中找到正则表达式的所有匹配项?

    在我正在编写的程序中 我让 Python 使用re search 函数在文本块中查找匹配项并打印结果 但是 一旦在文本块中找到第一个匹配项 程序就会退出 在找到所有匹配项之前程序不会停止的情况下 如何重复执行此操作 有一个单独的函数可以做到
  • 根据目标类型的无形状贴图 HList

    我有以下问题 我想将 HList 的项目映射到另一个 HList 但如果 目标 类型是 URL 则源 HList 中的字符串只能转换为 URL val name Stackoverflow val url https stackoverfl
  • 如何通过JQuery ajaxSend事件覆盖成功函数

    我试图覆盖 ajaxsend 事件的成功函数 但它不起作用 这是代码 document ajaxSend function event xhr options console log ajaxSend var tempSuccess opt
  • 如何每两周在周一和周二运行石英时间表?

    我使用以下方式每两周的星期一运行一次计划 ITrigger trigger TriggerBuilder Create StartAt DateBuilder DateOf StartHour StartMinute StartSecond
  • 为什么 Windows 不允许在模拟其他用户时启动 WinSock

    使用我自己的程序或其他程序 如果进程是使用 CreateProcessWithLogonW 或 CreateProcessAsUserW 创建的 则在调用时我无法运行 Winsock 当我创建套接字时它返回此错误 WSAEPROVIDERF
  • 重写 java equals() 方法 - 不起作用?

    我遇到了一个有趣的 而且非常令人沮丧的 问题equals 今天的方法导致我认为经过良好测试的类崩溃并导致一个错误 我花了很长时间才找到它 为了完整起见 我没有使用 IDE 或调试器 只是使用老式文本编辑器和 System out 时间非常有
  • 获取图像输入流的大小

    我需要获取输入流中找到的图像的高度和宽度 这是我所做的 private Boolean testSize InputStream inputStream BitmapFactory Options Bitmp Options new Bit
  • 空查询上的 ALL 运算符 VS Any

    我正在读甲骨文文档在 ANY 和 ALL 运算符上 我很了解它们的用途 除了一件事 它指出 ALL 如果子查询返回零行 则条件计算结果为 TRUE ANY 如果子查询返回零行 则条件计算结果为 FALSE 对我来说这似乎不太符合逻辑 为什么