解决方案 »

  1.   

    select A.AID,A.NAME,B.BID,B.NAME
    from A FULL JOIN B
    ON A.NAME=B.NAME
      

  2.   

    select a.aid,a.name,b.bid,b.name from tableA a left join tableB b on a.name=b.name
    union 
    select a.aid,a.name,b.bid,b.name from tableB b left join tableA a on a.name=b.name
      

  3.   

    不行呀,这样得到的结果只有三条数据了,没有那种空的。
    SQL> WITH A AS (
      2  select 'a' as AID,'A' AS NAME FROM DUAL UNION ALL
      3  select 'b' as AID,'B' AS NAME FROM DUAL UNION ALL
      4  select 'c' as AID,'C' AS NAME FROM DUAL
      5  ),B AS (
      6  select 'd' as BID,'A' AS NAME FROM DUAL UNION ALL
      7  select 'e' as BID,'E' AS NAME FROM DUAL UNION ALL
      8  select 'f' as BID,'F' AS NAME FROM DUAL
      9  )
     10  select A.AID,A.NAME,B.BID,B.NAME
     11  from A FULL JOIN B
     12  ON A.NAME=B.NAME;A N B N
    - - - -
    a A d A
        e E
        f F
    c C
    b BSQL>
    测试结果,自己看,真不知道你实际是咋写的,晕死