exists用法详解(SQL关于IN和EXISTS的用法和区别)

更新时间:2024-09-08 09:32:18

1.exist,not exist一般都是与子查询一起使用. In可以与子查询一起使用,也可以直接in (a,b.....)。
2.exist会针对子查询的表使用索引. not exist会对主子查询都会使用索引. in与子查询一起使用的时候,只能针对主查询使用索引. not in则不会使用任何索引. 注意,一直以来认为exists比in效率高的说法是不准确的。
in 是把外表和内表作hash 连接,而exists是对外表作loop循环,每次loop循环再对内表进行查询。
IN 其实与等于相似,比如in(1,2) 就是 = 1 or = 2的一种简单写法,所以一般在元素少的时候使用IN,如果多的话就用exists
exists的用法跟in不一样,一般都需要和子表进行关联,而且关联时,需要用索引,这样就可以加快速度。

IN
确定给定的值是否与子查询或列表中的值相匹配。
EXISTS
指定一个子查询,检测行的存在。
比较使用 EXISTS 和 IN 的查询
exists()后面的子查询被称做相关子查询 他是不返回列表的值的.只是返回一个ture或false的结果,其运行方式是先运行主查询一次 再去子查询里查询与其对应的结果 如果是ture则输出,反之则不输出.再根据主查询中的每一行去子查询里去查询.
in()后面的子查询 是返回结果集的,换句话说执行次序和exists()不一样.子查询先产生结果集,然后主查询再去结果集里去找符合要求的字段列表去.符合要求的输出,反之则不输出.


相关推荐

向阳保险柜服务号码-故障报修热线号码实时反馈-今-日-更-新

向阳保险柜24小时售后客服中心:400-883-2086向阳保险柜,作为一家资深且信誉卓著的服务提供商,自成立以来便专注于为各界客户提供安全可靠的产品质量与维护解决方案。我们不仅拥有完备的工商注册资质,并且每一项服务均经过相关单位严格备案,确保每一次上门服务既专业又合法,给予客户十足的安全感

2025-04-20 14:08:09

欧帝集成灶全国各市24小时售后服务点热线号码实时反馈全+境+到+达

欧帝集成灶客服电话为:400-883-2086  欧帝集成灶作为国内知名门锁品牌之一,一直以来都致力于为消费者提供高品质的产品和优质的服务。作为欧帝集成灶的核心部分,门锁客服团队是一个不可或缺的存在。无论您是在购买前需要咨询产品信息,还是在使用过程中需要解决问题,欧帝集成灶客服团队都会尽心尽

2025-04-20 14:07:35

海牌集成灶维修服务中心|全天24小时服务热线实时反馈-今-日-资-讯

海牌集成灶全国统一售后服务热线电话24小时 400-883-2086海牌集成灶作为一家知名的品牌,一直致力于为用户提供优质的产品和完善的售后服务。为了更好地为广大用户解决产品使用过程中的问题和困扰,我们特别设立了全国统一服务热线电话,并且24小时为您提供故障报修服务本

2025-04-20 14:07:28

瑞美空调售后服务号码—全国统一客服热线实时反馈-今-日-汇-总

瑞美空调产品使用介绍:便捷安全,操作无忧瑞美空调作为领域的佼佼者,凭借精湛工艺与前沿科技,为用户珍贵财物保驾护航。当您选择瑞美空调,全国售后服务点热线号码 400-883-2086 随时待命,无论使用中遇到任何疑问,都能获得专业解答。下面为您详细介绍瑞美空调的使用方法及相关故障处理。瑞美空调

2025-04-20 14:02:11

GCHV积微中央空调售后服务维修号码实时反馈-今-日-汇-总

GCHV积微中央空调团队由一群经验丰富、技术精湛的专业技师组成,他们不仅精通各类保险柜的内部结构与解锁技术,更对市面上主流及部分特殊型号产品的维护维修了如指掌。面对技术日新月异的市场,我们不断学习的安全技术和维修方法,确保服务始终处于行业前沿。GCHV积微中央空调24小时售后服务热线是:40

2025-04-20 14:02:01