番茄的梦想

那一抹夕阳

  博客园  :: 首页  ::  :: 联系 :: 订阅 订阅  :: 管理

2013年4月25日

摘要: 谓词ANY和ALL,我从不需要使用1. ANY以下两个query会返回相同的结果和执行计划?12345678910111213select*fromSales.SalesPersonwhereTerritoryID = ANY(selectTerritoryID fromSales.SalesTerritory whereCountryRegionCode = 'US')select*fromSales.SalesPersonwhereTerritoryID in(selectTerritoryID fromSales.SalesTerritory whereCountryRe 阅读全文
posted @ 2013-04-25 17:06 番茄的梦想 阅读(147) 评论(0) 推荐(0) 编辑

摘要: 我们继续Intersect, Except, Union, All and Any(1)中的讨论。这次我们的目标是要得到在英国(TerritoryID=10)且在‘2004-07-01’后有订单的客户ID。我们将使用多种方法来实现INTERSECT,并比较性能。1. 首先,我们可以使用INNER JOIN方法一代码生成的执行计划如下:其Subtree Cost: 0.614283方法二代码生成的执行计划如下:其Subtree Cost: 0.6155942. 我们使用IN谓词实现查询代码生成的执行计划如下:其Subtree Cost: 0.6141913. 最后我们使用INTERSECT谓词s 阅读全文
posted @ 2013-04-25 16:49 番茄的梦想 阅读(153) 评论(0) 推荐(0) 编辑

摘要: 在我浏览SQL Server 2008的培训课程时,发现了一些我在平日不太使用的SQL谓词:IntersectExceptALLANY我们将在AdventureWorks示例库上,试用这些谓词。首先我们来看INTERSECT,EXCEPT,UNION在实验中,我们将使用CustomerID的以下2个集合在sales territory 10(United Kingdom)中的客户在‘2004-07-01’后生成的订单可能解释这三个谓词的最好方法是通过示意图,最上方的图表示在英国(UK)但未在2004-07-01后产生订单的客户,中间的图表示在英国且在2004-07-01后产生订单的客户,最下方 阅读全文
posted @ 2013-04-25 16:46 番茄的梦想 阅读(228) 评论(0) 推荐(0) 编辑