gpt4 book ai didi

关系代数 DIVISION 的 SQL 等价物

转载 作者:行者123 更新时间:2023-12-01 20:16:45 26 4
gpt4 key购买 nike

这是一个例子 T(A) = 租用(A,C)/船(C)

select distinct R1.A from RENTED R1  
where not exists
(select * from SAILBOAT S
where not exists
(select * from RENTED R2
where R1.A = R2.A
and R2.C = S.C)
);

我的问题是,如果NOT EXISTS只返回TRUEFALSESELECT不同的R1.A如何> 知道要返回哪些值吗?

例如这个 jsfiddle

如果存在数字 = 5,则此查询将返回数字列中的所有内容

最佳答案

正如 wildplasser 和 sqlvogel 所提到的,对于外部查询中的每一行,子查询都会执行一次。

子查询的结果(TRUE/FALSE)决定是否返回外部查询中的行。总是会在子查询中引用外部查询的父键(标识符)列,以检查其在其他表中是否存在。此引用使子查询成为“ correlated subquery ”。

请参阅更新后的fiddle .

关于关系代数 DIVISION 的 SQL 等价物,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19695133/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com