实现SQLServer内嵌视图和临时表的代码

下面的文章主要描述的是SQL Server内嵌视图和临时表,以及对其相关的实际应用代码的描述,我们大家都知道在实际操作中的某些时候,查询需要将数据与其他一些可能只能通过执行 GROUP BY 然后执行标准查询才能收集的数据进行联接。

我们提供的服务有:成都网站设计、做网站、微信公众号开发、网站优化、网站认证、子洲ssl等。为近1000家企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的子洲网站制作公司

例如,如果要查询***五个定单的有关信息,您首先需要知道是哪些定单。这可以使用返回定单 ID 的 SQL 查询来检索。此数据就会存储在临时表(这是一个常用技术)中,然后与 Products 表进行联接,以返回这些定单售出的产品数量:

 
 
 
 
  1. CREATE TABLE #Temp1 (OrderID INT NOT NULL, _ OrderDate DATETIME NOT NULL)  
  2. INSERT INTO #Temp1 (OrderID, OrderDate) SELECT TOP 5 o.OrderID,   
  3. o.OrderDate FROM Orders o ORDER BY o.OrderDate DESC SELECT p.ProductName,  
  4. SUM(od.Quantity) AS ProductQuantity FROM #Temp1 t INNER JOIN [Order Details] od> 

这些 SQL 语句会创建一个临时表,将数据插入该表中,将其他数据与该表进行联接,然后除去该临时表。这会导致此查询进行大量 I/O 操作,因此,可以重新编写查询,使用内嵌视图取代临时表。内嵌视图只是一个可以联接到 FROM 子句中的查询。所以,您不用在 tempdb 中的临时表上耗费大量 I/O 和磁盘访问,而可以使用内嵌视图得到同样的结果:

 
 
 
 
  1. SELECT p.ProductName, SUM(od.Quantity) AS ProductQuantity FROM   
  2. ( SELECT TOP 5 o.OrderID, o.OrderDate FROM Orders o ORDER BY o.OrderDate DESC )  
  3. t INNER JOIN [Order Details] od> 

此查询不仅比前面的查询效率更高,而且长度更短。临时表会消耗大量资源。如果只需要将数据联接到其他查询,则可以试试使用内嵌视图,以节省资源。

以上的相关内容就是对SQL Server内嵌视图与临时表的介绍,望你能有所收获。

上述的相关内容就是对SQL Server内嵌视图与临时表的描述,希望会给你带来一些帮助在此方面。

当前名称:实现SQLServer内嵌视图和临时表的代码
标题网址:http://www.shufengxianlan.com/qtweb/news45/502945.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联