DDR爱好者之家 Design By 杰米
exists和in的区别很小,几乎可以等价,但是sql优化中往往会注重效率问题,今天咱们就来说说exists和in的区别。
exists语法:
select … from table where exists (子查询)
将主查询的结果,放到子查询结果中进行校验,如子查询有数据,则校验成功,那么符合校验,保留数据。
create table teacher ( tid int(3), tname varchar(20), tcid int(3) ); insert into teacher values(1,'tz',1); insert into teacher values(2,'tw',2); insert into teacher values(3,'tl',3);
例如:
select tname from teacher exists(select * from teacher);
此sql语句等价于select tname from teacher
(主查询数据存在于子查询,则查询成功(校验成功))
此sql返回为空,因为子查询并不存在这样的数据。
in语法:
select … from table where 字段 in (子查询)
select ..from table where tid in (1,3,5) ;
select * from A where id in (select id from B);
区别:
如果主查询的数据集大,则使用in;
如果子查询的数据集大,则使用exists;
例如:
select tname from teacher where exists (select * from teacher);
这里很明显,子查询查询所有,数据集大,使用exists,效率高。
select * from teacher where tname in (select tname from teacher where tid = 3);
这里很明显,主查询数据集大,使用in,效率高。
DDR爱好者之家 Design By 杰米
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
DDR爱好者之家 Design By 杰米
暂无评论...
更新日志
2024年04月29日
2024年04月29日
- 世界等级查看方法介绍,世界等级怎么查看
- 超1.5万人签名!玩家请愿索尼回滚《剑星》版本
- 恐怖故事继续上演!《鬼玩人》系列新片运作中
- 《芭比》导演执导 《纳尼亚传奇》新电影今夏开拍!
- 雷神瞳位置大全一览,2024雷神瞳位置
- 4.6版本四处宝藏位置介绍,探索新收集
- 4.6版本隐藏锚点位置一览,隐藏锚点在哪
- 群星.2024-追风者电视剧影视原声带【SONY】【FLAC分轨】
- 曾庆瑜.1992-18首中英文经典全集【派森】【WAV+CUE】
- 群星.1991-华纳浪漫心曲精丫华纳】【WAV+CUE】
- 幕府将军 Shogun
- 纳克鲁斯 Knuckles
- 特污兔《填空题》[FLAC/分轨][239.68MB]
- 陈奕迅《黑白灰》台湾版[WAV+CUE][400M]
- 群星《三大发烧女声》3CD[WAV+CUE][2G]