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

解决方案 »

  1.   

    连接无非是这几个
    --内连接和where相同
    inner join
    --左向外连接,返回左边表所有符合条件的
    left join
    --右向外连接,返回右边表所有符合条件的
    right join
    --完整外部连接,左向外连接和右向外连接的合集
    full join
    --交叉连接,也称笛卡儿积。返回左表中的每一行与右表中所有行的组合
    cross join
      

  2.   

    连接无非是这几个
    --内连接和where相同
    inner join
    --左向外连接,返回左边表所有符合条件的
    left join
    --右向外连接,返回右边表所有符合条件的
    right join
    --完整外部连接,左向外连接和右向外连接的合集
    full join
    --交叉连接,也称笛卡儿积。返回左表中的每一行与右表中所有行的组合
    cross join
      

  3.   


    cross join 是笛卡儿乘积 就是一张表的行数乘以另一张表的行数
    left  join 第一张表的连接列在第二张表中没有匹配是,第二张表中的值返回null
    right join 第二张表的连接列在第一张表中没有匹配是,第一张表中的值返回null 
    full  join 返回两张表中的行 left join+right join
    inner join 只返回两张表连接列的匹配项