`

in exists区别及应用

阅读更多

  这两个函数是差不多的,但由于优化方案不同,通常NOT Exists要比NOT IN要快,因为NOT EXISTS可以使用结合算法而NOT IN就不行了,而EXISTS则不如IN快,因为这时候IN可能更多的使用结合算法。

    Select * from tableA Where exists(Select * From tableB Where tableB.ID=tableA.ID)

    这句相当于:Select * from tableA Where id in (Select ID From tableB)

    对于表tableA的每一条数据,都执行Select * From tableB Where tableB.ID=tableA.ID的存在性判断,如果表tableB中存在表tableA当前行相同的ID,则Exists为真,该行显示,否则不显示。

  • Exists适合内小外大的查询,IN适合内大外小的查询
  • In确定给定的值是否与子查询或列表中的值相匹配
  • Exists指定一个子查询,检测行的存在
分享到:
评论

相关推荐

    mysql insert if not exists防止插入重复记录的方法

    MySQL 当记录不存在时插入(insert if not exists) 在 MySQL 中,插入(insert)一条记录很简单,但是一些特殊应用,在插入记录前,需要检查这条记录是否已经存在,只有当记录不存在时才执行插入操作,本文介绍的...

    SQLServer 优化SQL语句 in 和not in的替代方案

    但是用IN的SQL性能总是比较低的,从SQL执行的步骤来分析用IN的SQL与不用IN的SQL有以下区别: SQL试图将其转换成多个表的连接,如果转换不成功则先执行IN里面的子查询,再查询外层的表记录,如果转换成功则直接采用多...

    oracle高级sql讲解课程

    with子句使用,集合操作,case应用,行列互换,4 exists与in、not exists与not in

    Excel VBA与数据库整合应用范例精讲书及源代码

    Excel VBA与数据库整合应用范例精讲(书及范例源代码) 内容简介 《Excel VBA 数据库整合应用范例精讲》用180个实例介绍了利用Excel VBA来操作数据库(包括Access、SQL Server和FoxPro)的实用方法和技巧。  全书共11...

    sql查询语句

    sql查询语句,带有实例,除法等应用 select sc.* from sc where not exists( select cno from c where( sc.cno!='c1' and sc.cno!='c2' ) ) --其中not exists 中的 select cno from c where 是没有用的 --等价于 ...

    mixitup_rails:在 Rails 应用中添加 Mixitup。 MixItUp - 过滤器和排序插件 https

    MixitupRails 在 Rails 应用中添加 Mixitup。 MixItUp - 过滤器和排序插件... // an instance now exists in the session memory ###Demoapp 打开文件夹demoapp以查看 mixitup 应用程序的示例。 $ git clone git@g

    oracle管理及优化文档 粗略整理

    尽量用not exists 或者外连接替代 not in 操作符。因为not in不能 应用表的索引 3。尽量不用<> 或者!= 操作符。不等于操作符是永远不会用到索引的,因此 对它的处理只会产生全表扫描,改为 a> XX or a 4.在设计...

    FlexGraphics_V_1.79_D4-XE10.2_Downloadly.ir

    - FIX In some cases TFlexCurve.Paint leaves selected black pen in the canvas which then affects on next flex-control output (in particular when the next flex-control have gradient fill). FlexEdit...

    精通sql结构化查询语句

    以SQL Server为工具,讲解SQL语言的应用,提供了近500个曲型应用,读者可以随查随用,深入讲解SQL语言的各种查询语句,详细介绍数据库设计及管理,详细讲解存储过程、解发器和游标等知识,讲解了SQL语言在高级语言中...

    create-edit-update-and-delete-application-in-node.js-with-mysql:在 node.js 和 mysql 中创建编辑更新和删除应用程序

    create-edit-update-and-delete-application-in-node.js-with-mysql 在 node.js 和 mysql 中创建编辑更新和删除应用程序 在 node.js 和 mysql 中创建编辑更新和删除应用程序 操作说明 如何安装 首先需要创建mysql...

    Excel VBA与数据库整合应用范例精讲

    实例3-38 多表查询(子查询EXISTS,NOT EXISTS) 实例3-39 从两个数据表中查询出都存在的记录 实例3-40 从两个数据表中查询出只存在于某个数据表的记录 实例3-41 将查询结果生成一个数据表 实例3-42 将查询...

    angular-cakephp-auth:用于向 CakePHP 服务器发出 REST JSON 请求的 Angular JS 应用程序的基于令牌的身份验证

    Angular app sends JSON requests to CakePHP server, On server side, the Cake Controller that responds to all JSON requests must verify each Http request for its token and verify the token exists in ...

    mongodb3.2.8入门到精通视频教程.zip

    3.Capped Collections介绍及生产环境之疲劳度过滤,日志应用 4.Bson结构解析以及$type和_id原理详细分析 5.mongodb shell使用loadjs与mongodb高速交互分析 6.高频咨询之sql statement 和mongodb statement对照分析和...

    高级数据查询.PPT

    掌握简单的子查询、in查询、EXISTS子查询用法,应用T-sql进行综合查询。对初学者简单、易学、易快速掌握

    MaxCompute数据开发实战—数据进入MaxCompute的N种方式.pdf

    >ADS同步->应用查询及大屏离线展现等;  实时数据上云(日志)->DataHub->StreamCompute->RDS->大屏实时展现等。 实现一个实际的、具有业务场景的项目交付过程,包含大数据主要产品, 并实现每个过程的资产积累 ...

    大数据应用测试经验总结.pdf

    任务调度:使⽤Quartz实现作业调度及管理。 5. 监控接⼝:使⽤Kafka、⽂件接⼝对接统⼀监控平台。 6. 数据可视化:使⽤JQuery、Echarts、Easy UI等技术实现图表、表格展⽰;使⽤Apache POI实现excel、CSV的导⼊导出...

    IP dns修改工具 应用ip DNS快速更改

    If Not FileExists($dir) Then MsgBox(16, "错误", "没有找到配置文件" & @CRLF & $dir, 3) Exit EndIf $colItems = "" $objWMIService = ObjGet("winmgmts:\\.\root\CIMV2") Dim $SetDns[2] $SetDns[0] = ...

    adb1.0.26包含fastboot.exe

    INSTALL_FAILED_ALREADY_EXISTS 应用已经存在,或卸载了但没卸载干净 adb install 时使用 -r 参数,或者先 adb uninstall <packagename> 再安装 INSTALL_FAILED_INVALID_APK 无效的 APK 文件 INSTALL_FAILED_...

    Oracle数据库、SQL

    12.7 in和exists比较 22 十三、 多表查询 23 13.1按范式要求设计表结构 23 13.2多表连接的种类 23 13.3交叉连接 23 13.4内连接 23 13.5外连接 25 13.6非等值连接 27 13.7表连接总结 27 十四、 集合 28 14.1表连接...

    Mysql面试过关!(详解:索引+常用引擎+常见问题+sql调优)

    一、Mysql索引 1、添加索引sql语句 2、查看MySQL中建立的索引是否生效 ...3.10 查询条件使用not in、not exists时,如果是主键则走索引,如果是普通索引,则索引失效 3.11 当查询条件涉及到order by、l

Global site tag (gtag.js) - Google Analytics