myschool数据库设计优化参考all、any和some子查询_第1页
myschool数据库设计优化参考all、any和some子查询_第2页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、ALL、 ANY 和 SOME询可以用 ALL或 ANY 关键字修改引入询的比较运算符。SOME是与 ANY 等效的 SQL-92 标准。通过修改的比较运算符引入的询返回零个值或多个值的列表,并且可以包括 GROUP BY 或 HAVING 子句。这些询可以用EXISTS 重新表述。以 比较运算符为例,ALL 表示大于每一个值。换句话说,它表示大于最大值。例如,ALL (1, 2, 3) 表示大于 3。ANY 表示至少大于一个值,即大于最小值。因此 ANY (1, 2, 3) 表示大于 1。若要使带有 ALL 的询中的行满足外部查询中指定的条件,引入询的列中的值必须大于询返回的值列表中的每个值

2、。同样,ANY 表示要使某一行满足外部查询中指定的条件,引入询的列中的值必须至少大于询返回的值列表中的一个值。下面的查询提供一个由 ANY 修改的比较运算符引入的询的示例。它查找定价高于或等于任何产品子类别的最高定价的产品。代码USE AdventureWorks; GOSELECT NameFROM Production.Product WHERE ListPrice = ANY(SELECT MAX (ListPrice)对于每个产品子类别,查询查找最高定价。外部查询查看所有这些值,并确定定价高于或等于任何产品子类别的最高定价的单个产品。如果 ANY 更改为 ALL,查询将只返回定价高于或

3、等于查询返回的所有定价的那些产品。如果询不返回任何值,那么整个查询将不会返回任何值。=ANY运算符与 IN等效。例如,若要查找 Adventure WorksCycles产品的名称,可以使用 IN或 =ANY。生产的所有下面是任一查询的结果集:代码-Using =ANYUSE AdventureWorks; GOSELECT NameFROM Production.ProductWHERE ProductSubcategoryID =ANY (SELECT ProductSubcategoryIDFROM Production.ProductSubcategory WHERE Name = W

4、heels)-Using INUSE AdventureWorks; GOSELECT NameFROM Production.Product WHERE ProductSubcategoryID IN(SELECT ProductSubcategoryIDFROM Production.ProductSubcategory WHERE Name = Wheels)FROM Production.ProductGROUP BY ProductSubcategoryID)但是,ANY 运算符则不同于 NOT IN:ANY 表示不等于 a,或者不等于 b,或者不等于 c。NOT IN 表示不等于

5、a、不等于 b 并且不等于 c。ALL 与 NOT IN 表示的意思相同。例如,以下查询查找位于任何销售都不负责的地区的客户。代码Use AdventureWorks; GOSELECT CustomerID FROM Sales.CustomerWHERE TerritoryID ANY (SELECT TerritoryID FROM Sales.Sales)代码NameLL Mountain Front Wheel ML Mountain Front Wheel HL Mountain Front Wheel LL Road Front WheelML Road Front Wheel HL Road Front Wheel Touring Front WheelLL Mountain Rear Wheel ML Mountain Rear Wheel HL Mountain Rear Wheel LL Road Rear WheelML Road Rear Wheel HL Road Rear Wheel Touring Rear Wheel(14 row(s) affected)结果包含除销售地区为 NULL 的客户以外的所有客户,因为分配给客户的每个地区都由一个销售负责。查询查找销售负责的所有销售地区,然后对于每

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论