SQL> select * from a1;BBB
----------
101
102
103
104
105SQL> select * from a2;BBB        CCC
---------- --------------------
101
102
105SQL> select * from a1,a2 where a1.bbb(+)=a2.bbb;BBB        BBB        CCC
---------- ---------- --------------------
101        101
102        102
105        105SQL> select * from a1,a2 where a1.bbb=a2.bbb(+);BBB        BBB        CCC
---------- ---------- --------------------
101        101
102        102
103
104
105        105SQL> 清楚了吧

解决方案 »

  1.   

    exists只查找第一条便结束
    效率要高很多
      

  2.   

    select name,age from a,b where a.name=b.name(+)
    and b.name is null
    and b.skill(+)='smithy';
    这样能得出正确结果吗?
      

  3.   

    比如:where a.col = b.col(+)的意思是:查找满足a.col = b.col和存在a中而不存在b中的记录。
      

  4.   

    TO   bzszp(SongZip)
    可以得出正确结果
    这是我原样从《ORACLE8 完全参考手册》上超下的语句
      

  5.   

    我也看不出来为什么这样写,
    请SQL高手来看看
      

  6.   

    外部连接就是bzszp演示的那样用的,
    可以取出小表中没有数据的行。