sqlserver数据库LEFT JOIN和LEFT OUTER JOIN

sqlserver数据库中,左联系关系凡是利用LEFT JOIN,可是,在日常平凡进修过程中,有时辰又会呈现LEFT OUTER JOIN,这两个写法到底是不是一样的呢?
方式/
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【sqlserver数据库LEFT JOIN和LEFT OUTER JOIN】从运行成果可以看出,对于left join和left outer join两种写法在sqlserver中其实是一样的结果 。 日常平凡写sql语句的时辰不必纠结两种写法,就利用left join即可

sqlserver数据库LEFT JOIN和LEFT OUTER JOIN




以上内容就是sqlserver数据库LEFT JOIN和LEFT OUTER JOIN的内容啦,希望对你有所帮助哦!

    猜你喜欢