如题。
select a.* from bsempms a,bsdptms b where a.dpt_no=b.dpt_no(+); 
select a.* from bsempms a,bsdptms b wherea.dpt_no(+)=b.dpt_no;
谁帮我解释一下(+)在=左边和右边有什么不同?

解决方案 »

  1.   

    第一个a.dpt_no=b.dpt_no(+);
    数据连接以a.dpt_no为准, a.dpt_no有数据的,b.dpt_no没数据的,则显示a.dpt_no,b.dpt_no显示NULL
    a.dpt_no(+)=b.dpt_no;
    这个是以b.dpt_no,a.dpt_no没数据的显示null
    =============
    设表a        表b
    dpt_no       dpt_no
    1             1
    2               
    3             3
                  4
    ===================
    a.dpt_no=b.dpt_no(+)出来是
    表a        表b
    dpt_no       dpt_no
    1             1
    2               
    3             3
    a.dpt_no(+)=b.dpt_no出来是
     dpt_no       dpt_no
    1             1
    3             3
                  4