sqlserver数据库LEFT JOIN和LEFT OUTER JOIN

sqlserver数据库中,左联系关系凡是利用LEFT JOIN,可是,在日常平凡进修过程中,有时辰又会呈现LEFT OUTER JOIN,这两个写法到底是不是一样的呢?

方式/步调

  1. 1

    建立一个姑且表,用于演示sqlserver语法中的LEFT JOIN、LEFT OUTER JOIN利用

    IF OBJECT_ID('tempdb..#tmp1') IS NOT NULL DROP TABLE #tmp1; 

    CREATE TABLE #tmp1(

        Col1 varchar(50),        

        Col2 varchar(200)        

    );

  2. 2

    建立别的一个姑且表,用于演示sqlserver语法中的LEFT JOIN、LEFT OUTER JOIN利用

    IF OBJECT_ID('tempdb..#tmp2') IS NOT NULL DROP TABLE #tmp2; 

    CREATE TABLE #tmp2(

        Col1 varchar(50),      

        Col3 varchar(200)      

    );

  3. 3

    往姑且表中插入几行测试数据,此中包罗插入Null值

    insert into #tmp1(Col1, Col2) values('Code1', '第一列');

    insert into #tmp1(Col1, Col2) values('Code10', '第二列');

    insert into #tmp1(Col1, Col2) values('Code100', '第三列');

    insert into #tmp2(Col1, Col3) values('Code1', NULL);

    insert into #tmp2(Col1, Col3) values('Code10', '人员');

    insert into #tmp2(Col1, Col3) values('Code99', '司理');

  4. 4

    查询姑且表中的测试数据

    select * from #tmp1;

    select * from #tmp2;

  5. 5

    利用LEFT JOIN联系关系两张表,以第一个姑且表为准,查询Col3不为空的成果

    select * 

    from #tmp1 a

    left join #tmp2 b on b.Col1 = a.Col1 and b.Col3 IS NOT NULL 

  6. 6

    利用LEFT OUTER JOIN联系关系两张表,以第一个姑且表为准,查询Col3不为空的成果

    select * 

    from #tmp1 a

    left outer join #tmp2 b on b.Col1 = a.Col1 and b.Col3 IS NOT NULL

  7. 7

    从运行成果可以看出,对于left join和left outer join两种写法在sqlserver中其实是一样的结果。日常平凡写sql语句的时辰不必纠结两种写法,就利用left join即可

  • 发表于 2019-04-19 22:30
  • 阅读 ( 1371 )
  • 分类:其他类型

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
联系我们:uytrv@hotmail.com 问答工具