如何联合2个表成一个表
表A
ID  A
------ 
1   a
2   a
3   a
4   a
5   a
表B
------
ID  B
------ 
1   b
2   b
3   b我需要的表C
ID  A   B
----------
1   a   b
2   a   b
3   a   b
4   a   (NULL)
5   a   (NULL)
我直接select A.id ,A.A,B.B from A,B where A.id=B.id
这样的话 没有B表中的ID 4和5 
我记得有个语句是这样写 能在B中建立“万能的行” 有空直构成
where A.id=B.id(*) 可是发现语法不对 这句话怎么写还有我不知道A.id和B.id哪个应该建立“万能行”因为事先不知道哪个行多 有空值

解决方案 »

  1.   

    select A.ID , A , B from A FULL join B ON A.ID=B.ID不过有个问题 假如A中有B中没有的行  那行ID就是空了  楼下继续 我这个语句必须知道哪个表的ID是最全的
      

  2.   

    select A.ID , A.a , B.b from A Left OUT join B ON A.ID=B.ID
      

  3.   

    还有我不知道A.id和B.id哪个应该建立“万能行”因为事先不知道哪个行多 有空值
    //FULL JOIN ?
    还是先统计吧。
      

  4.   

    Sql server中
    select A.id ,A.A,B.B from A right join b on A.id=B.id
    Oralce中
    select A.ID ,A.A,B.B from A FULL join B ON A.ID=B.ID
      

  5.   

    问题在于 不知道连接查询的几个表哪个表的 ID 是全项。A.id B.id用哪个的问题
    用哪个都不成,都可能缺项
    用A.id的话 A中少项目。对应的B.id就是空的