首页 > 解决方案 > 关于 select 1 from dual where exists 你如何解释这个 SQL 代码

问题描述

我需要用外行的方式向某人解释这一点。如果你和一个 5 岁的孩子交谈,你会如何总结这一点,比如说。

我将其解释为:

“查找并显示来自该表的数据:tableA 中的一列 col1 = 5000 and col2 > ? and col3 > ? and col4 <= ?

有没有更好的方法来表达这个词?谢谢。

select 1 
from dual 
where exists 
(select 1 from tableA where col1 = 5000 and col2 > ? and col3 > ? and col4 <= ? )

标签: sqloracleoracle11g

解决方案


我:这个查询将返回一行,1如果 TABLEA 中至少有一行,其中 COL1 等于 5000,COL2 大于某个未知值,COL3 大于某个未知值,COL4大于某个未知值. 否则它将不返回任何行。它使用 DUAL,这是 Oracle 中保证返回单行的特殊表。

5 岁的孩子:这个代码看起来很笨拙。斯普德写的吗?鲍勃可以解决吗?


推荐阅读