专业网站建设品牌,17年专业建站经验,服务6000+客户--广州松河
免费热线:400-963-0016
微信咨询
|
联系我们
扫二维码关注公众号
网站首页
网站建设
短视频
网站推广
网站模板
客户案例
资讯动态
关于我们
网站首页
网站建设
短视频
网站推广
网站模板
客户案例
资讯动态
关于我们
位置:
广州松河
>
技术支持
> sql中 exists的用法
sql中 exists的用法
来源:网络整理 时间:2023/2/14 1:07:49 共
3655
浏览
现有:班级表(A_CLASS)
学生表( STUDENT)
注:学生表(STUDENT)的classId关联班级表(A_CLASS)的主键ID
代码:
select * from STUDENT s WHERE exists (select 1 from A_ClASS c where s.CLASS_ID=c.ID)
结果
【exists语句的执行顺序如下】:
1.首先会执行外循环(select * from student)
2.外循环返回的结果每一行都会拿着去内层循环执行(此时注意,内层也是循环查询的)
ps:select * from student查询的为 (c1,c1,c2,c3);此时执行顺序应该是(
第一次:select* from A_CLASS where c1=c1,第二次:select* from A_CLASS where c1=c2,
第三次:select* from A_CLASS where c1=c1,第四次:select* from A_CLASS where c1=c2,
第五次:select* from A_CLASS where c2=c1,第六次:select* from A_CLASS where c2=c2,
第七次:select* from A_CLASS where c3=c1,第八次:select* from A_CLASS where c3=c2)
注意:此时的内层子查询如果为true,则直接返回不会再继续执行本次循环;
综上所述:第二次和第四次是不会被执行的; 第一次和第三次还有第六次是符合条件的;
所以 STUDENT表中CLASS_ID字段为(c1,c2)的数据都会被查询出来;
如果将 上述语句的=换成!=会是什么效果?
select * from STUDENT s WHERE exists (select 1 from A_ClASS c where s.CLASS_ID!=c.ID)
结果如果所示:
具体分析一下:此时的执行应该和第一次一模一样也是循环8次分别为:
第一次:select* from A_CLASS where c1!=c1,第二次:select* from A_CLASS where c1!=c2,
第三次:select* from A_CLASS where c1!=c1,第四次:select* from A_CLASS where c1!=c2,
第五次:select* from A_CLASS where c2!=c1,第六次:select* from A_CLASS where c2!=c2,
第七次:select* from A_CLASS where c3!=c1,第八次:select* from A_CLASS where c3!=c2
但是=换成了!=;这次是第六次和第八次没有被执行,其余的全被执行,s.CLASS_ID涉及到(c1,c2,c3)并且语句都返回了true;
所以STUDENT表中CLASS_ID字段为(c1,c2,c3)的数据都会被查询出来;
总结:
1.exists执行外循环后,会拿着外循环的值,去内层查询,如果查询到就直接返回true,并且终止本次循环,如果是false,则会一直执行,直至循环完成还为false,则本次内循环不符合条件;
2.内层的判断条件不要写!=;查询的结果会不尽人意;
版权说明:
本网站凡注明“广州松河 原创”的皆为本站原创文章,如需转载请注明出处!
本网转载皆注明出处,遵循行业规范,如发现作品内容版权或其它问题的,请与我们联系处理!
欢迎扫描右侧微信二维码与我们联系。
相关主题:
北京正规的网站制作排名
廊坊网站建设制作开发
榆林企业网站制作订做
滁州网站建设制作推广
衢州哪个网站制作软件最好
宜宾企业网站制作订制
望江网站制作哪家有实力
北京专业网站制作流程介绍
抖音头像生成制作网站
高碑店制作网站的基本流程
·上一条:
无法加载文件或程序集 netstandard,版本= 2.0.0.0 参考程序集不应该加载执行
|
·下一条:
Redis集群搭建及C#连接
同类资讯
王者荣耀登录错误代码是怎么回事_服务器
饥荒t键mod怎么用_服务器
怎么设置win8可以让其他电脑搜索到我的媒体服务器_服务器
常州灵活就业社保退休后能拿多少_服务器
开个快递代理点要多少钱_服务器
转转为什么显示网络异常_服务器
页面访问升级出错_服务器
如何架设一个简单的安卓app服务器_服务器
研祥大数据服务器研发工程师的待遇怎么样_服务器
魔兽世界一区三区五区十区哪个好_服务器
腾讯软件管理卸载不了怎么办_服务器
工银电子密码器开机密码是什么知道的告诉下_服务器
什么是电信下载和网通下载_服务器
什么是快手抖音维护_服务器
300兆光纤该用什么路由器_服务器
如何与强势的人在平日里相处_服务器
realme手机激活时间能改吗_服务器
王者荣耀不同系统为什么不能加好友_服务器
小新电脑电子邮件怎么登录_服务器
笔记本电脑网卡信息显示需要进一步安装_服务器
资讯动态
公司新闻
互联网资讯
电商资讯
优化推广
技术支持
关于我们
公司简介
企业文化
服务项目
公司新闻
服务项目
网站建设
网站推广
品牌策划
移动应用
服务支持
在线咨询
服务流程
产品报价
售后服务
联系我们
代理加盟
付款方式
在线留言
联系方式
联系方式
电话:400-963-0016
邮箱:sales@itwy.com
QQ:250211130
微信:18520775521
Copyright © 广州松河信息科技有限公司 2005-2025 版权所有
粤ICP备16019765号
广州松河信息科技有限公司 版权所有
18520775521
QQ洽谈
sales@itwy.com