1 --如果临时数据库存在名为#t的临时表则删除 2 if object_id('tempdb..#t') is not null 3 drop table #t; 4 5 6 SELECT * into #t FROM ( 7 select tbl_Pipe.pipeStartPoint from tbl_Pipe 8 union 9 select tbl_Pipe.pipeEndPoint from tbl_Pipe ) k ; 10 --上面的k仅仅是让语法合法; 11 12 select pipeStartPoint as allPoints, tbl_Point.modelID from #t 13 left outer join tbl_Point 14 on pipeStartPoint=tbl_point.pointID;
这个例子中,临时表用'#'开头表示,一个'#'表示局部临时表,两个'##'表示全局临时表,一般当连接关闭时DBMS会删除临时表。
可以用上面第一段代码来检查是否有这样一个临时表,'tempdb..#tempName' 表示临时数据库中的表#tempName。
left out join on的用法:
Left outer join
列出左边表(父表)的所有记录和右边表(子表)满足联接条件的记录。
例s23:查询每个学生的全部信息及其选课情况
SELECT xsda.*, xsxk.* FROM xsda LEFT OUTER JOIN xsxk ON xsda.学号 = xsxk.学号;
select 表1.*, 表2.* from 表1 left outer join 表2 on 表1.字段X = 表2.字段X;