SELECT *
FROM TABLE1 A,TABLE B
WHERE A.ID(+)=B.ID

解决方案 »

  1.   

    顺便问一句,是不是没有 这样的  WHERE A.ID(+)=B.ID(+) ?
      

  2.   

    WHERE A.ID(+)=B.ID(+) 这不是笛卡儿乘积了?有什么用?
      

  3.   

    使用 full outer join 就可以了
      

  4.   

    right.A left outer join B on A.id = b.id
                       and …
    类似
      

  5.   

    WHERE A.ID(+)=B.ID(+) 在oracle是不允许这么用的. 这也不是做笛卡儿乘积.
    笛卡儿乘积--->select * from tablea ,tableb ;
    inner join on id=id   :   where id=id
    left join  on id=id   :   where id=id(+)
    right join on id=id   :   where id(+)=id
      

  6.   

    完全外联接:
    select * from a full outer join  b on a.id=b.id
      

  7.   

    笛卡尔积:
      select * from A cross join B where ....
    左外部连接
      select * from A left outer join B on A.id=B.id
      相等于: select * from A,B where A.id=B.id(+)
    右外部连接
      select * from A right outer join B on A.id=B.id
      相等于: select * from A,B where A.id(+)=B.id
    完全外部连接
      select * from A full outer join B on A.id=B.id