欢迎来到天天文库
浏览记录
ID:56280667
大小:34.00 KB
页数:2页
时间:2020-06-05
《简单子查询简单子查询.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、简单子查询――带比较运算符号子查询可以由一个比较运算符(=、<>、>、>=、<、!>、!<或<=)引入。与使用IN引入的子查询一样,由未修改的比较运算符(即后面不接ANY或ALL的比较运算符)引入的子查询必须返回单个值而不是值列表。如果这样的子查询返回多个值,MicrosoftSQLServer2005将显示一条错误信息。要使用由未修改的比较运算符引入的子查询,必须对数据和问题的本质非常熟悉,以了解该子查询实际是否只返回一个值。例如,如果假定每个销售员只负责一块销售区域,而您要找出LindaMitchell所负责区域的客户,那么您可以编写一条语句,带上简单的=比较运算符引入的子查询。复制
2、代码USEAdventureWorks;GOSELECTCustomerIDFROMSales.CustomerWHERETerritoryID=(SELECTTerritoryIDFROMSales.SalesPersonWHERESalesPersonID=276)但是,如果LindaMitchell负责的销售区域不止一个,则会产生一条错误信息。这时可以用IN表达式(=ANY也可以)来代替=比较运算符。由未修改的比较运算符引入的子查询经常包括聚合函数,因为这些子查询要返回单个值。例如,下面的语句将找出定价高于平均定价的所有产品的名称。复制代码UseAdventureWorksSELE
3、CTNameFROMProduction.ProductWHEREListPrice>(SELECTAVG(ListPrice)FROMProduction.Product)因为由未修改的比较运算符引入的子查询必须返回单个值,所以除非知道GROUPBY或HAVING子句本身会返回单个值,否则不能包括GROUPBY或HAVING子句。例如,下面的查询将找出子类别14中定价高于最低定价的产品。复制代码UseAdventureWorksSELECTNameFROMProduction.ProductWHEREListPrice>(SELECTMIN(ListPrice)FROMProducti
4、on.ProductGROUPBYProductSubcategoryIDHAVINGProductSubcategoryID=14)
此文档下载收益归作者所有