sql中 exists的用法

sql中 exists的用法

ID:34726080

大小:62.68 KB

页数:4页

时间:2019-03-10

sql中 exists的用法_第1页
sql中 exists的用法_第2页
sql中 exists的用法_第3页
sql中 exists的用法_第4页
资源描述:

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

1、理解SQL语句中Exists() exists对于主查询而言只有一个作用:返回ture或false,而其本身查询的結果集不具任何意义因此在子查询的Select命令语句的字段行中通常使用通用字符*或者直接使用数字1执行步骤: 实际上是主查询每一次得到一条记录时,都会去判断where后面的条件是否都满足,如果满足了,那么这条记录将会作为结果返回。比如有如下数据表Tb col100001 100002 100003 100004 100008 100012 100013100014100023100030100031

2、100032一需要查询出col字段的连续序号的最小值即希望返回数据集100001100008100012100023100030 第一步 selectcolfromtba  whereexists(select*fromtbwherecol=a.col-1)返回数据集100002100003100004100013100014100031100032 该语句的理解为主查询每一次得到一条记录时,都会去判断where后面的条件是否都满足,如果满足,条件为真,则该记录作为结果返回. 执行步骤 当主查询在第一条记录时1

3、00001,该记录是否返回取决于子查询的结果集是否为空即条件是否为真. select*fromtbwherecol=100000 (100001-1) 结果集为空,条件为假,则该记录不返回. 第二条记录100002 select*fromtbwherecol=100001 (100002-1) 结果集不为空,条件为真,则该记录返回. ... 第五条记录100008 select*fromtbwherecol=100007 (100008-1) 结果集为空,条件为假,则该记录不返回. ... 第十二条记录1000

4、32 select*fromtbwherecol=100031 (100032-1) 结果集不为空,条件为真,则该记录返回. 第二步将第一步数据集的相反数据 selectcolfromtba  wherenotexists(select*fromtbwherecol=a.col-1)得到结果集100001100008100012100023100030二在ProductCount,ProductCode,WorkstationCode字段值相同情况下,需要查询出ProductNum字段的连续序号的最小值Prod

5、uctNum ProductCount ProductCode WorkstationCode0         200         301A00        13-10-01-11         100         001100         13-10-01-11         100         001100         13-14-01-12         100         001100         13-10-01-12         100         00

6、1100         13-14-01-13         100         001100         13-10-01-13         200         001100         13-14-01-14         200         001100         13-10-01-15         200         001100         13-10-01-16         200         001100         13-10-01-1

7、7         200         001100         13-10-01-18         100         001100         13-10-01-19         100         001100         13-10-01-110         100         001100         13-10-01-192126         100         001100         13-10-01-1  SQL语句为SELECT* FR

8、OMdbo.TbOrderDetailsaWHERENOTEXISTS( SELECT*FROMdbo.TbOrderDetails  WHERE(ProductNum=a.ProductNum-1)AND       (ProductCount=a.ProductCount)AND        (ProductCode=a.ProductCode)AND       (Workst

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

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

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