select a.user,a.email,b.age from a left join b on a.user=b.user

解决方案 »

  1.   

    select a.user,a.email,b.age from a left join b on a.user=b.user
      

  2.   


    declare @a table(a int,b int)
    declare @b table(a int,b int)
    insert @a values(1,1)
    insert @a values(2,2)
    insert @b values(1,1)
    insert @b values(3,3)--左:
    select * from @a Aa left join @b Bb on Aa.a=Bb.a
    --右:
    select * from @a Aa right join @b Bb on Aa.a=Bb.a
    --内
    select * from @a Aa join @b Bb on Aa.a=Bb.a
    --外:
    select * from @a Aa full join @b Bb on Aa.a=Bb.a
    --完全
    select * from @a,@b
    cross join 是笛卡儿乘积 就是一张表的行数乘以另一张表的行数
    left  join 第一张表的连接列在第二张表中没有匹配是,第二张表中的值返回null
    right join 第二张表的连接列在第一张表中没有匹配是,第一张表中的值返回null 
    full  join 返回两张表中的行 left join+right join
    inner join 只返回两张表连接列的匹配项
      

  3.   

    select a.user,a.email,b.age from a left outer join b on a.user=b.user
      

  4.   

    这是一个 左连接 
    SELECT a.user,a.email,b.age 
    FROM a 
    LEFT OUTER JOIN b
    ON a.user=b.user 不知道有没有分了:)