EXISTS如何返回除所有行或无行以外的内容?

德德国王

我是一名新手SQL程序员-我得到了很多东西,但还没有。

在我看来,从文档的角度来看,整个EXISTS语句返回一个布尔值。

但是,我看到了可以使用它并返回表的一部分而不是全部或全部不返回的特定示例。

SELECT DISTINCT PNAME
FROM P    
WHERE EXISTS
(
    SELECT *
    FROM SP Join S ON SP.SNO = S.SNO
    WHERE SP.PNO = P.PNO
    AND S.STATUS > 25
)

该查询向我返回一个值,该值符合条件(S.Status> 25)。

但是,对于其他查询,即使EXISTS子查询中的任何一行都为true,它似乎也会返回我正在选择的整个表。

一个人如何控制呢?

托斯滕·凯特纳

诸如EXISTS之类的子查询可以是相关的,也可以是不相关的。

在您的示例中,您使用了相关子查询,而EXISTS通常就是这种情况。您可以在SP中查找给定P.PNO的记录,即,您要查找每个P记录。

没有SP.PNO = P.PNO您,您将拥有一个不相关的子查询。即子查询不再取决于P记录。对于任何P记录,它将返回相同的结果(是否存在Status> 25)。大多数情况下,这是错误地完成的(一个忘记将子查询与相关记录相关联),但有时这样做是希望的。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

我如何匹配除匹配值以外的所有内容?

vim中的这一系列击键如何删除除带编号的行以外的所有内容?

如何读取.CSV文件的标题行以外的所有内容?

从行的开头获取除换行以外的所有空格,直到有任何内容?

如何清除除A列以外的行的内容?

将awk应用于除第一行以外的所有内容

我怎样才能grep除模式及其下n行以外的所有内容?

如何移动除最后一个文件以外的所有内容?

如何删除除顶级数字目录以外的所有内容?

如何使用proguard混淆除公共方法名称和属性以外的所有内容?

如何模糊除2个节点以外的所有内容。Spritekit(快速)

Proguard:如何保留除特定条件以外的所有内容?

如何将除正则表达式以外的所有内容与sed匹配?

Angular 2 Dart:如何检测除元素以外的所有内容?

如何使用-e's ///'除特定模式以外的所有内容?

正则表达式-如何匹配除特定模式以外的所有内容

如何忽略除模式以外的所有内容的Spring Security配置

如何用nodemon忽略除文件夹和特定文件以外的所有内容?

如何替换除感兴趣的字符串以外的所有内容

如何用sed替换除特定模式以外的所有内容?

如何编写查询以删除除按ID分组的最大值以外的所有内容?

如何掩盖除最后一位数字以外的所有内容

我如何删除图像中除python中的文本以外的所有内容?

如何使用 REGEXEXTRACT 提取除 URL 协议 (https://) 以外的所有内容?

正则表达式记事本++:如何删除除URL以外的所有内容?

正则表达式,如何选择除模式以外的所有内容?

如何将除端口以外的所有内容重写为HTTPS

为什么“ SELECT ... WHERE id = 1 = 0”返回除id = 1以外的所有行?

忽略除某些文件以外的所有内容-Git