有两张表A,B,
A表数据为:
  id    name1
  1   A
  2   B
  5   S
B表数据为
   id     name2
  3   C
  5   E
  1   F
  4   G
想查询得到如下的数据,
  id     name1    name2
    1       A        F
    2       B       NULL
    3      NULL      C
    4      NULL      G
    5       S        E
--------------------------
请教高手该如何写查询语句,不胜感激。多谢!!

解决方案 »

  1.   

    select a.id, a.name, b.name 
       from A join B on a.id=b.id;
      

  2.   

    select a.*,b.name2 from t3 a left join t4 b on a.id=b.id
    union
    select b.id,a.name1,b.name2 from t3 a right join t4 b on a.id=b.id
    order by id
      

  3.   

    刚才是不对,试试这个:select * from a left join pop3acct b
           on a.id = b.id
    union
    select * from a right join b
           on a.id = b.id
           where a.id is null
      

  4.   

    呵呵,MYSQL不支持FULL OUTER JOIN,用LEFT JOIN+RIGHT JOIN
      

  5.   

    我在网上查了一下,应该是用 full join,但是我用的 MySQL 6.0 不支持.
      

  6.   

    不行哦,如支持FULL OUTER JOIN,就不用UNION
      

  7.   

    FULL OUTER JOIN简称full join