sql中 exists的用法

本文详细解析了SQL中的EXISTS子句执行顺序,通过实例展示了在外层循环中,每次都会用当前行数据去执行内层查询。当内层查询返回结果为真时,外层循环立即停止,否则继续进行。对于`=`和`!=`的使用,文章指出`!=`可能导致意外的结果。最后,作者分享了自己的学习和工作经验。
摘要由CSDN通过智能技术生成

现有:班级表(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,第四

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值