我有两个表,mobile_main和mobile_sub,他们有共同字段name等,name有很多相同的。
为什么SELECT name FROM MOBILE_MAIN NATURAL JOIN MOBILE_SUB这个查询结果会是0,没有任何输出。

解决方案 »

  1.   

    呵呵, 听说过,一直没看人用过,你是第一个。看看你的表的定义,是不是出了name还有别的字段也符合nature join的条件呀。
      

  2.   

    nature join的条件是什么?呵呵,还有一个同名的公共字段,是不是这个也有影响啊?但是natural join的用法上说的就是最少有一个公共字段,没有说不能有很多吧?请指教下,谢谢
      

  3.   


    而且我把所有的公共字段名都写在select后面,也是不行……
      

  4.   

    自然连接是在两张表中寻找那些数据类型和列名都相同的字段,然后自动地将他们连接起来.
    你自查一下是不是两个子段的内容不一样。
    来看一下自然连接的例子。Select emp.ename,dept.dnameFrom emp natural join dept;这里我们并没有指定连接的条件,实际上oracle为我们自作主张的将,emp中的deptno和dept中的deptno做了连接。也就是实际上相当于Select emp.ename,dept.dnameFrom emp join dept on emp.deptno = dept.deptno;
    你查一下是不是字段的内容不一样。