sqlserver数据库LEFT JOIN和LEFT OUTER JOIN

 时间:2026-02-15 09:07:13

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)        

);

sqlserver数据库LEFT JOIN和LEFT OUTER JOIN

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)      

);

sqlserver数据库LEFT JOIN和LEFT OUTER JOIN

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', '经理');

sqlserver数据库LEFT JOIN和LEFT OUTER JOIN

4、查询临时表中的测试数据

select * from #tmp1;

select * from #tmp2;

sqlserver数据库LEFT JOIN和LEFT OUTER JOIN

5、使用LEFT JOIN关联两张表,以第一个临时表为准,查询Col3不为空的结果

select * 

from #tmp1 a

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

sqlserver数据库LEFT JOIN和LEFT OUTER JOIN

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

sqlserver数据库LEFT JOIN和LEFT OUTER JOIN

7、从运行结果可以看出,对于left join和left outer join两种写法在sqlserver中其实是一样的效果。平时写sql语句的时候不必纠结两种写法,就使用left join即可

sqlserver数据库LEFT JOIN和LEFT OUTER JOIN

  • c#编程打印QR值可变的lable,BarTender组件教程
  • eclipse配置svn
  • eclipse怎样修改包(package)的显示样式、格式
  • notepad++双视图功能,notepad新建视图方法
  • 在js中如何获取textarea有多少行
  • 热门搜索
    蜂拥而至的意思 乙女是什么意思 群蚁排衙的意思 破釜沉舟是什么意思 籍贯是什么意思 滥竽充数的意思 未来可期的意思 天涯海角的意思 茶的作用 灵芝酒的功效与作用