如题

解决方案 »

  1.   


    declare @a table(id int,name varchar(10))
    insert into @a select 1,'aa'
    insert into @a select 2,'bb'
    insert into @a select 3,'cc'
    declare @b table(id int,sex int)
    insert into @b select 1,20
    insert into @b select 2,32
    insert into @b select 4,15--左联接:
    select a.*,sex from @a a left join @b b on a.id=b.id--右联接:
    select a.*,sex from @a a right join @b b on a.id=b.id--内联接:
    select a.*,sex from @a a inner join @b b on a.id=b.id查看结果能很清楚地说明三者之间的区别。。
      

  2.   

    简单地说:INNER JOIN
    全匹配LEFT OUTER JOIN
    左匹配右,返回左全部数据,右非匹配数据NULL值填充RIGHT OUTER JOIN
    反之FULL OUTER JOIN
    LEFT OUTER JOIN + FULL OUTER JOIN