这个投影 return 是什么?

What would this projection return?

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

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

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

结果将是 table,其中包含一个名为 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
)