关系代数题(麻烦措辞,请看说明)

Relational algebra question (trouble wording, please read description)

免责声明:请原谅我的措辞,因为我在描述我的问题时遇到了很多麻烦。

我有 tableA 和 B

Table A(ID, YEAR) where the key is ID+YEAR:
ID|YEAR
-------
1 |2001
1 |2002
1 |2003
2 |2001
2 |2002
3 |2001

Table B(YEAR) key is YEAR:
YEAR
----
2001
2002
2003

我想找到在table B的所有年份出现的ID,即ID 1。

即tableB的所有YEAR行中出现的ID。

我尝试过使用一些连接和差异技术,但我无法解决这个问题。

如果这个问题有更好的表达方式,请告诉我,因为我似乎也找不到在线提问的方式。不知道怎么用简洁的方式表达。

编辑:我应该提到这是使用关系代数而不是 sql。

听起来你想要关系除法,geeksforgeeks relational division。 当您想找出哪些实体与另一组的 all 个实体交互时,可以使用关系划分。

您想使用 A / B,这将 return AID 中与 [=24= 相关联的 table ]ALL B 中的年份。

另一个例子是,如果您有 books 的 table 和 readers 的 table。 readers / books 会告诉您哪些读者阅读了 所有 本书。