有两个表A和B表A结构如下:
id      name
001     dada
002     dfdf
003     gfgf表B结构如下:
id      num
001     100想联合查询相同id的name和num
select t1.id t1.name, t2.num from A t1, B t2 where t1.id = t2.id
现在要求,如果B中没有相应的id,则查出来的num为1。
想要的结果如下:
id      name    num   
001     dada    100
002     dfdf    1
003     gfgf    1

解决方案 »

  1.   

    select t1.id t1.name, nvl(t2.num,1) from A t1, B t2 where t1.id = t2.id 
      

  2.   

    用left join吧:select t1.id t1.name, nvl(t2.num,1) from A t1 left join B t2 on t1.id = t2.id 
      

  3.   

    select t1.id t1.name, nvl(t2.num,1) from A t1, B t2 where t1.id = t2.id(+) 
      

  4.   

    用LEFT JOIN外连接
    select t1.id t1.name, nvl(t2.num,1) from A t1 left join B t2 on t1.id = t2.id 
      

  5.   

    select a.id,a.name,nvl(b.num,1) num
    from a left outer join b
    on a.id=b.id
      

  6.   

    select t1.id t1.name, nvl(t2.num,1) from A t1, B t2 where t1.id = t2.id(+)