书里是这样的定义的:
自然连接是一种特殊的等值连接,它要求关系中进行比较的两个分量必须是相同的属性组,并且在结果中将重复属性列去掉。
有两点不明白:
1,既然是等值连接,以两个关系连接为例,每个关第中取哪个属性与另一个关系中的哪个属性进行等值比较?
2,连接后要去掉重复的属性列,去掉的是原来哪个关系的属性列?
也许是一时脑子糊了,在这里卡住,请高手解救,有个具普遍性的自然连接例子就列好了 谢谢
自然连接是一种特殊的等值连接,它要求关系中进行比较的两个分量必须是相同的属性组,并且在结果中将重复属性列去掉。
有两点不明白:
1,既然是等值连接,以两个关系连接为例,每个关第中取哪个属性与另一个关系中的哪个属性进行等值比较?
2,连接后要去掉重复的属性列,去掉的是原来哪个关系的属性列?
也许是一时脑子糊了,在这里卡住,请高手解救,有个具普遍性的自然连接例子就列好了 谢谢
http://topic.csdn.net/t/20030405/15/1622594.html
我是学C++的,为了应付软考学的这
如何用一句SQL返回表A中存在的id,name结果集而在表B中不存在的id,name结果集select A.* from A left join B on A.id=B.id and A.name=B.name where B.id is nullselect * from A where not exists(select top 1 * from B where A.ID=B.ID)这两个都可以.
--前提:表中不能有text、ntext、image、cursor 数据类型的字段。用CheckSum()最简单:select * from A where checksum(*) not in (select checksum(*) from B)----------------------------------------------------------------------
查询表A,表B中重复的记录select * from A where checksum(*) in (select checksum(*) from B)查询表A,表B中重复的记录,并把结果输入到表C中。select * into c from A where checksum(*) in (select checksum(*) from B)
http://topic.csdn.net/u/20070905/22/208d3ca9-8ca4-41d3-8430-2512f02a3918.html