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。拨打此电话,您可以预约售后服务,之后售后服务网点会根据您所在的地区进行就近安排,并与您联系,以安排上门维修。虽然不同地区的具体售后电话号码可能不同,但售后服务流程是一致的。如何进行百富士热水器的售后维修?1. 您可以拨打百富士热水

2025-05-02 17:43:25

藤印象保险柜用户售后客服中心实时反馈-今-日-更-新

藤印象保险柜服务网点热线:400-883-2086, 为您提供藤印象保险柜维修点查询、藤印象保险柜售后维修服务商等查询服务。覆盖的藤印象保险柜维修点地址电话。藤印象保险柜售后服务承诺;1.上门服务时间(周一至周日8:00-21:00)2..师傅接单后30分钟到达目的地(情况除

2025-05-02 17:40:24

四季无忧太阳能服务号码24小时-售后号码实时反馈-今-日-汇-总

如电器使用过程中出现问题给您带来不便,我们深表歉意,麻烦您拨打公司客服热线(400-883-2086),我们将安排工作人员为您提供上门维修服务,感谢您的来电! 服务区域;全市各区及周边等辖区均有维修网点,统一报修,就近安排维修上门服务一、能工巧匠:为您提供优质服务《工程师背景

2025-05-02 17:29:23

probuck指纹锁售后24小时联系方式维修查询实时反馈-今-日-汇-总

probuck指纹锁24小时售后维修电话:400-883-2086上门时间:20分钟内响应上门收费标准:上门检测为准,报价后可选择是否维修。维修说明:1.上门维修时间(周一至周日8:00-22:00);2.客户报修后,师傅会尽快与您联系,确认上门时间;3.师傅按照预约时间携带专

2025-05-02 17:14:25

大拇指燃气灶全国统一服务号码-全国服务热线实时反馈全+境+到+达

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

2025-05-02 17:09:30