关系代数题(麻烦措辞,请看说明)
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 A
的 ID
中与 [=24= 相关联的 table ]ALL B
中的年份。
另一个例子是,如果您有 books
的 table 和 readers
的 table。 readers / books
会告诉您哪些读者阅读了 所有 本书。
免责声明:请原谅我的措辞,因为我在描述我的问题时遇到了很多麻烦。
我有 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 A
的 ID
中与 [=24= 相关联的 table ]ALL B
中的年份。
另一个例子是,如果您有 books
的 table 和 readers
的 table。 readers / books
会告诉您哪些读者阅读了 所有 本书。