书里是这样的定义的:
    自然连接是一种特殊的等值连接,它要求关系中进行比较的两个分量必须是相同的属性组,并且在结果中将重复属性列去掉。
有两点不明白:
    1,既然是等值连接,以两个关系连接为例,每个关第中取哪个属性与另一个关系中的哪个属性进行等值比较?
    2,连接后要去掉重复的属性列,去掉的是原来哪个关系的属性列?
也许是一时脑子糊了,在这里卡住,请高手解救,有个具普遍性的自然连接例子就列好了 谢谢

解决方案 »

  1.   

    可以去下面这个地址看看,有例子
    http://topic.csdn.net/t/20030405/15/1622594.html
      

  2.   

    SQL我还没研究呢 就从关系代数的角度来看 谁能帮我说说?
    我是学C++的,为了应付软考学的这
      

  3.   

    如何从表A(总表)中找出表B(分表)中不存在的记录组合假设表A和表B都只有两个字段id,name
    如何用一句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)
      

  4.   

    自然连接是在等值连接的基础上实现的.可以看下面的帖子.
    http://topic.csdn.net/u/20070905/22/208d3ca9-8ca4-41d3-8430-2512f02a3918.html