select * 
from order  o
left join  revieworders ro on o.orderno = ro.orderno and ro.isadopt<>0等价于Oracle里的何种写法以下方法试过不行。
select * 
from order  o,revieworders ro 
where  on o.orderno = ro.orderno(+) 
and ro.isadopt<>0

解决方案 »

  1.   

    一样.
    select *  
    from order o
    left join revieworders ro on o.orderno = ro.orderno and ro.isadopt<>0或者写全.
    select *  
    from order o
    Left outer join revieworders ro on o.orderno = ro.orderno and ro.isadopt<>0
      

  2.   

    我是想知道,用oracle 特有的语法如何来写
      

  3.   

    select o.*,ro.*  
    from order o
    left join revieworders ro on o.orderno = ro.orderno and ro.isadopt<>0这种简单左外连接,oracle跟sqlserver是一样的。
      

  4.   

    select *  
    from order o,(select * from revieworders where isadopt<>0 )ro
    where on o.orderno = ro.orderno(+)  
    你说的是这样吗?
    连接的时候条件放里面 
      

  5.   

    顶一下
    oracle QQ群:54775466
      爱好者入群 谢谢。
      

  6.   

    select *  
    from order o,revieworders ro  
    where on o.orderno = ro.orderno(+)  
    and ro.isadopt<>0多了on 
      

  7.   

    to  lzbbob1985select *   
    from order o,(select * from revieworders where isadopt<>0 )ro
    where on o.orderno = ro.orderno(+)   与
    select *  
    from order o,revieworders ro  
    where  o.orderno = ro.orderno(+)  
    and ro.isadopt<>0结果集是一样的。只要在revieworders不存在记录,该记录不会搜索出来。select *  
    from order o
    left join revieworders ro on o.orderno = ro.orderno and ro.isadopt<>0这条SQL,即使订单相关记录在revieworders不存在记录,该记录也可以出来。
      

  8.   

    select *  
    from order o
    left join revieworders ro on o.orderno = ro.orderno and ro.isadopt<>0等同于ORACLE中这个,ORACLE支持(+)这个方法表示左右连接select *  
    from order o
    , revieworders ro where o.orderno = ro.orderno(+) and ro.isadopt<>0
      

  9.   

    正确的应该是:select *   
    from order o,(select * from revieworders where isadopt<>0 )ro
    where  o.orderno = ro.orderno(+)   与原sql语句等价
      

  10.   

    LZ的where条件里面多了个on,去掉就可以了。where isadopt<>0放在子查询里面和外面是一样的。
      

  11.   

    (+)是oracle自己的语法
    left join on = 是sql99的标准语法,按理说两者的结果是一致的。
    但是不同的oracle版本上oracle是否会对自己的语法执行效率进行优化有待查证。
    有兴趣的话楼主可以深入探寻下。