我有一个结果集A
即 10 行 1-10{1,2,3,4,5,6,7,8,9,10}
, and B
这是 10 行,由偶数 1-20 组成{2,4,6,8,10,12,14,16,18,20}
。我想找到一组中的元素,但不是同时找到两者中的元素。行中没有其他列。
我认识一个UNION
将A + B
。我可以在两者中找到A
and B
with A INTERSECT B
。我可以找到所有行A
那是not在 B 中与A EXCEPT B
.
这让我想到一个问题:如何找到其中的所有行A 或 B,但不能两者兼而有之, 是否存在传递等价于( A EXCEPT B ) UNION ( B EXCEPT A)
在sql规范中?我想要一套{1,3,5,7,9,12,14,16,18,20}
。我相信这也可以写成A UNION B EXCEPT ( A INTERSECT B )
集合论中是否有数学原因为什么不能在一次操作中完成(这可以向不理解集合论的人解释)?或者,只是因为自己构建起来太简单而没有实现?或者,我只是不知道更好的方法吗?
我在想这个must在 SQL 规范中的某个地方:我知道这个东西是巨大的。