gpt4 book ai didi

sql - 这个投影会返回什么?

转载 作者:行者123 更新时间:2023-12-04 18:25:44 25 4
gpt4 key购买 nike

我是 sql 的新手,如果我在表上运行这个投影,它会什么都不返回还是不允许这个投影的错误(语法)?我将表格和投影的所有信息放在下面的这张图片中,以便于阅读:)

my table and projection

最佳答案

在关系代数中,您的集合差异会产生错误,因为这两个集合不兼容并集:

For set union and set difference, the two relations involved must be union-compatible—that is, the two relations must have the same set of attributes. from wikipedia

在 SQL 中,set difference 会起作用,因为联合兼容性以更宽松的方式理解,即元组度数和数据类型必须匹配,但名称不匹配。所以这是有效的 SQL:

SELECT X FROM A
EXCEPT
SELECT Z FROM A

结果将是一个包含名为 X 的列的表

但是,即使在 SQL 中,您也无法从集合差异中投影 Y,因此 πY 是不可能的,无论是在 SQL 中还是在关系代数中。这将是无效的 SQL:

SELECT Y -- Y is not defined here, only X
FROM (
SELECT X FROM A
EXCEPT
SELECT Z FROM A
)

关于sql - 这个投影会返回什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44180123/

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