sqlserver数据库右关联RIGHT JOIN的使用方法
1、创建一个临时表,用于演示sqlserver语法中的右关联RIGHT JOIN使用IF O幞洼踉残BJECT_ID('tempdb..#tbl1') IS NOT NULL DROP TABLE #tbl1;CREATE TABLE #tbl1( Col1 varchar(50), Col2 varchar(200) );
2、创建另外一个临时表,用于演示sqlserver语法中的右关联RIGHT JOIN使用IF OBJECT_ID('tempdb..#tbl2') IS NOT NULL DROP TABLE #tbl2;CREATE TABLE #tbl2( Col1 varchar(50), Col3 varchar(200) );
3、往临时表中插入几行测试数据,其中包辖艮鲔鸣括插入Null值数据insert into #tbl1(Col1, Col2) values('Code1', '第1列');insert into #tbl1(Col1, Col2) values('Code10', '第2列');insert into #tbl1(Col1, Col2) values('Code100', '第3列');insert into #tbl2(Col1, Col3) values('Code1', NULL);insert into #tbl2(Col1, Col3) values('Code10', '老师');insert into #tbl2(Col1, Col3) values('Code99', '学生');
4、查询临时表中的测试数据select * from #tbl1;select * from #tbl2;
5、使用右关联RIGHT JOIN关联两张表,以第二个临时表为准,查询结果。右关联的结果是,以右边的表为准,左边能关联上的就出现,关联不上的就是nullselect *from #tbl1 aright join #tbl2 b on b.Col1 = a.Col1
6、使用RIGHT OUTER JOIN关联两张表,以第二个临时表为准,查询结果select *from #tbl1 aright outer join #tbl2 b on b.Col1 = a.Col1
7、从运行结果可以看出,对于right join和right outer join两种写法在sqlserver中其实是一样的效果。右关联,也可以使用左关联来实现,只需要交换一下表的位置和关键字select *from #tbl2 aleft join #tbl1 b on b.Col1 = a.Col1