有俩个表:a,b
a表:
 id    name     aa     aa1
 1     小李      100    2
 2     小张      120    0
 3     小田      101    156
 4     小王      153     87
 5     小孙      450     1
b表:
 id    name     bb     bb1
 1     小李      0      211
 2     小张      120    0
 3     小田      0      156
 4     小王      0       87我想把a表里的所有字段都读出来,并把b表里属于a表里的id的字段都读出来,以下是我写的,但a表里有一条没读出来,小弟实在是想不出来了,请大侠们指教一下吧:
select a.id,a.name,b.bb,b.bb1,a.aa,a.aa1 from a inner join b on a.id=b.id

解决方案 »

  1.   


    select a.id,
    a.name,
    b.bb,
    b.bb1,
    a.aa,
    a.aa1 
    from a 
    left join b on a.id=b.id inner join是内联接,返回两表中条件相等的行
    你这种情况应该用左外联接(left join),返回a表所有行和b表中条件相等的行
      

  2.   


    --这样?
    select a.*,b.bb,b.bb1 from a left join b on a.id=b.id
      

  3.   

    select a.id,a.name,b.bb,b.bb1,a.aa,a.aa1 from a inner join b on a.id=b.id 没错,不知道你为什么没数据?
      

  4.   

    你的写法至少有ID为1,2,3,4的.如果是A表所有数据要显示,用left join