你能帮助我将这种关系代数关系翻译成SQL吗?
For a given X(A), Y(A) and T(A):
X UNION (Y INTERSECTS T)
这是我的尝试:
SELECT *
FROM (R UNION S) INTERSECT T;
这是对的吗?有没有其他方法可以做到这一点?
答案 0 :(得分:0)
标准SQL具有INTERSECT,许多产品也是如此。 MySQL没有。
(没有单一的“关系代数”,但通常是:)关系代数INTERSECT仅限于其输入关系具有相同的列,并且就像NATURAL JOIN一样。
所以明显的SQL模拟是NATURAL JOIN。或者使用所有列加入。或(INNER)JOIN ON每对同名列的相等,然后选择每对中的一对。