SQL中的自然连接是什么意思啊?

书上说:自然连接运算的结果表是在参与操作的两个表的共同属性上进行等值条件连接,再去除重复属性后所得的新表。

这话看的不是很明白,请大家用自己所理解的语言告诉我好吗?:)

重复属性是指列名相同的表吧?
A表:
T1 T2 T3
10 A1 B1
5 A1 C2
20 D2 C2
B表:
T1 T4 T5 T6
1 100 A1 D1
100 2 B2 C1
20 0 A2 D1
5 10 A2 C2

将A表和B表做自然连接,结果为:
T1 T2 T3 T4 T5 T6
5 A1 C2 10 A2 C2
20 D2 C2 0 A2 D1
请问,这种结果是怎么来的呢??我没有分数可给,可我很想知道答案,谢谢回答问题的好心人了。:)

连接是从两个关系的笛卡尔积中选取满足一定条件的元祖,它分为自然连接和等值连接

自然连接是等值连接后去掉了相同的记录
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-12-05
select A.t1,A.t2,A.t3,B.t4,B.t5,B.t6 from A inner join B on A.t1=B.t1;

inner join 只显示符合条件的数据行,此为默认的join方式,inner 可以省略
left join 显示符全条件的数据行及左边数据表中不符合条件的数据行
right join 显示符全条件的数据行及右边数据表中不符合条件的数据行
full join 显示符全条件的数据行及左边和右边数据表中不符合条件的数据行
cross join 直接将一个数据表的每一条数据行和另一个数据表的每一条数据行搭配成新的数据 行,不要on 来设置条件
第2个回答  2015-11-09

    指通过对参与表关系中所有同名的属性对取等(即相等比较)来完成的,故无须自己添加连接条件,例:select * from student natual join teacher。

    同属于join操作,还包括外连接和内连接。

相似回答