是否存在与SQL表达式等效的关系代数NOT IN?
NOT IN
例如,如果我有关系:
A1 | A2 ---------- x | y a | b y | x
我想删除A1在A2中的关系中的所有元组。在SQL中,我可能会查询:
SELECT * FROM R WHERE R.A1 NOT IN ( SELECT A2 FROM R ) /
真正令我困扰的是如何在关系代数选择运算符内进行子查询,这可能吗?:
蟽一些子查询在这里R
在关系代数中,可以使用笛卡尔乘积来实现。就像是:
的R -蚁A1,A2(蟺A11,A21(蟽A11 = A22(蚁A11,A21(R)X蚁A12,A22(R))))
这样就为您提供了匹配的行。从R中减去此值以找到不匹配的行。