sql中innotin及existsnotexists的用法和差别

sql中innotin及existsnotexists的用法和差别

ID:34726089

大小:50.70 KB

页数:3页

时间:2019-03-10

sql中innotin及existsnotexists的用法和差别_第1页
sql中innotin及existsnotexists的用法和差别_第2页
sql中innotin及existsnotexists的用法和差别_第3页
资源描述:

《sql中innotin及existsnotexists的用法和差别》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、SQL中IN,NOTIN及EXISTS,NOTEXISTS的用法和差别  [一]IN:确定给定的值是否与子查询或列表中的值相匹配。IN关键字使您得以选择与列表中的任意一个值匹配的行。当要获得居住在California、Indiana或Maryland州的所有作者的姓名和州的列表时,就需要下列查询:SELECTProductID,ProductNameFROMNorthwind.dbo.ProductsWHERECategoryID=1ORCategoryID=4ORCategoryID=5然而,如果使用IN,少键入一些字符也可以得到同样的结果:SELECTProductID,Product

2、NameFROMNorthwind.dbo.ProductsWHERECategoryIDIN(1,4,5)IN关键字之后的项目必须用逗号隔开,并且括在括号中。下列查询在titleauthor表中查找在任一种书中得到的版税少于50%的所有作者的au_id,然后从authors表中选择au_id与titleauthor查询结果匹配的所有作者的姓名:SELECTau_lname,au_fnameFROMauthorsWHEREau_idIN(SELECTau_idFROMtitleauthorWHEREroyaltyper<50)结果显示有一些作者属于少于50%的一类。[二]NOTIN:通过N

3、OTIN关键字引入的子查询也返回一列零值或更多值。以下查询查找没有出版过商业书籍的出版商的名称。SELECTpub_nameFROMpublishersWHEREpub_idNOTIN(SELECTpub_idFROMtitlesWHEREtype='business')使用EXISTS和NOTEXISTS引入的子查询可用于两种集合原理的操作:交集与差集。两个集合的交集包含同时属于两个原集合的所有元素。差集包含只属于两个集合中的第一个集合的元素。[三]EXISTS:指定一个子查询,检测行的存在。本示例所示查询查找由位于以字母B开头的城市中的任一出版商出版的书名:SELECTDISTINCT

4、pub_nameFROMpublishersWHEREEXISTS(SELECT*FROMtitlesWHEREpub_id=publishers.pub_idANDtype='business')SELECTdistinctpub_nameFROMpublishersWHEREpub_idIN(SELECTpub_idFROMtitlesWHEREtype='business')两者的区别:EXISTS:后面可以是整句的查询语句如:SELECT*FROMtitlesIN:后面只能是对单列:SELECTpub_idFROMtitles[四]NOTEXISTS:例如,要查找不出版商业书籍的出

5、版商的名称:SELECTpub_nameFROMpublishersWHERENOTEXISTS(SELECT*FROMtitlesWHEREpub_id=publishers.pub_idANDtype='business')下面的查询查找已经不销售的书的名称:SELECTtitleFROMtitlesWHERENOTEXISTS(SELECTtitle_idFROMsalesWHEREtitle_id=titles.title_id)附:我自己写的时候in的语句查询数据量越过1000行时,报错说toomanyvalues,也就是说in与notin最大的数据容量是1000,有兴趣的朋友可

6、以试下!in不行的时候最好用exists.自己的实用的一个例子,一个消费表中,要查询当前月的用户不在前当年前几个月中存在,也就是说净增长多少个消费。SQL如下:selectcont(t.customerid),count(distinctt.customerid)fromconsumelogtwheret.largessid=优惠ID(与业务相关)andt.storetime>date'2009-09-01'andt.storetime

7、关)ands.customerid=t.customeridands.storetime>date'2009-01-01'ands.storetime

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。