请您解释一下如何对这两个关系进行自然连接(一个有5个,另一个有3个行?
第一关系
A C
3 3
6 4
2 3
3 5
7 1
第二关系
B C D
5 1 6
1 5 8
4 3 9
答案 0 :(得分:1)
在你的问题中,你有两个独立的关系,它们有一个共同的属性(即列):C。
自然连接将两个关系中的所有元组与该属性相结合。您将得到结果:
A B C D
7 5 1 6
3 4 3 9
2 4 3 9
3 1 5 8
可以使用@Matthew发布的代码在SQL中执行此操作。
答案 1 :(得分:0)
类似的东西:
SELECT * FROM 1stRelation NATURAL JOIN 2ndReleation
它将使用显式列名称执行相同的操作和内部联接。即:
SELECT * from 1stRelation as x INNER JOIN 2ndRelation as z ON x.C=z.C
个人 - 我不想使用它们,除非在可能的情况下,我事先不知道表结构,但知道它们应该能够加入。
答案 2 :(得分:0)
基本上你做一个CROSS JOIN,i。即您将第一关系中的每一行与第二关系的每一行组合在一起。然后你有两个C列。现在你消除了两个C 不等于的每一行,并将它们合并为一个C列。