select a.a1,a.a2, b.b1 from a,b where ( a.a3=b.b3(+)  )
                                    and a.dif=@variable('4.国际/国内标识')(+)是什么意思,
=@variable是什么意思,这不是正规的sql语句吧。

解决方案 »

  1.   

    -- 是 left join 、rithg join 的早期Oracle的一种书写格式!
      

  2.   

    (+)表示A外联接B,即当A有数据而B无关联数据时,B相关列的数据显示为NULL
    @variable至少不是Oracle的语法
      

  3.   

    这是Oracle的写法,是指对b表进行外连接
      

  4.   

    -- 是 left join 、right join 的早期Oracle的一种书写格式!
      

  5.   

    a.a3=b.b3(+) 等同于 a left join b on a.a3=b.b3  左连接
    a.a3(+)=b.b3 等同于 a right join b on a.a3=b.b3  右连接  这是老的写法,推荐用新的=@variable('4.国际/国内标识')
    估计是个函数