当A表数据与baiB表数据一样大时,in与exists效率差不多,可任选一个使用。in 和 exists的区别如下:

1、运用情况不同

sql中in适用于子查询得出的结果集记录较少,主查询中的表较大且又有索引的表,。sql中exist适用于外层的主查询记录较少,子查询中的表大,又有索引的时候。

2、驱动顺序不同

IN是先查询子查询的表,然后将内表和外表做一个笛卡尔积,然后按照条件进行筛选。exists是以外层表为驱动表,先被访问。

3、对NULL值处理不同。

IN不对NULL进行处理,exists会对NULL值进行处理。

4、底层原理不同

in 是把外表和内表作hash 连接,而exists是对外表作loop循环,每次loop循环再对内表进行查询。

SQL查询中in和exists的区别相关推荐

  1. Sql语句中IN和exists的区别及应用

    表展示 首先,查询中涉及到的两个表,一个user和一个order表,具体表的内容如下: user表: order表: in 确定给定的值是否与子查询或列表中的值相匹配.in在查询的时候,首先查询子查询 ...

  2. Sql 语句中 IN 和 EXISTS

    原文链接:  (2条消息)Sql 语句中 IN 和 EXISTS 的区别及应用 - jcpp9527的博客 - CSDN博客 https://blog.csdn.net/wqc19920906/art ...

  3. sql之嵌套查询中的带exists谓词的子查询

    数据库系统概论之嵌套查询中的带exists谓词的子查询 一.exists谓词概述:exists谓词代表存在量词.带有exists谓词的子查询不返回任何数据,只产生逻辑真值"true" ...

  4. MySQL中In与Exists的区别

    MySQL中In与Exists的区别 1 例子 2 EXISTS和IN的介绍 2.1 exists 2.2 in 2.3 使用上的区别 3 EXISTS和IN的性能分析 4 总结 1 例子 有两个表需 ...

  5. SQL Server 中 EXEC 与 SP_EXECUTESQL 的区别

    SQL Server 中 EXEC 与 SP_EXECUTESQL 的区别 原文:SQL Server 中 EXEC 与 SP_EXECUTESQL 的区别 MSSQL为我们提供了两种动态执行SQL语 ...

  6. SQL Server中SCAN 和SEEK的区别

    SQL Server中SCAN 和SEEK的区别 SQL SERVER使用扫描(scan)和查找(seek)这两种算法从数据表和索引中读取数据.这两种算法构成了查询的基础,几乎无处不在.Scan会扫描 ...

  7. 读书笔记:SQL 查询中的SQL*Plus 替换变量(DEFINE变量)和参数

    本文为"SQL*Plus 替换变量 - 在 SQL 查询中定义变量和参数"的读书笔记. 此文主要是讲替换变量,也称为DEFINE变量,但也涉及了绑定变量和SQL Plus系统变量. ...

  8. vba ado 执行多条mysql 语句,Excel VBA+ADO+SQL入门教程003:SQL查询中字段技巧的总结...

    原标题:Excel VBA+ADO+SQL入门教程003:SQL查询中字段技巧的总结 本章概要: 1,几个概念 1.1, 数据库和Excel工作簿 1.2,数据表和Excel工作表 1.3,记录.字段 ...

  9. oracle查数据存入数组,如何在SQL查询中使用Oracle关联数组

    ODP.Net公开了将关联数组作为参数从C#传递到Oracle存储过程的能力.除非您尝试在sql查询中使用该关联数组中包含的数据,否则它是一个很好的功能. 原因是它需要上下文切换 – SQL语句需要S ...

  10. SQL查询中having和where的异同点

    SQL查询中having与where 的异同点 在sql查询中, having与where类似,可以筛选数据,where后的表达式怎么写,having后就怎么写. 1. where针对表中的列发挥作用 ...

最新文章

  1. 图像配准----NCC
  2. python 虚拟环境依赖复制
  3. 如何防止google colab 掉线
  4. Delphi数据类型及转换(附:源码)
  5. wincc历史数据库_什么是数据库?如何学习数据库?
  6. OpenCV图像修补
  7. [Android] AsyncTask详解
  8. c语言怎样存放学生信息,C语言共用体存放学生信息
  9. R中读取Excel大文件
  10. NSA机密文件泄密者如何暴露身份
  11. 阿里P9技术:我来聊聊百万年薪
  12. 方正飞鸿智能信息平台产品白皮书(一)
  13. FAT32与NTFS区别
  14. OC中链式编程和函数式编程
  15. 2020年iOS如何申请苹果公司开发者账号流程详细图文介绍
  16. 【论文学习】基于区块链的档案数据保护和共享方法
  17. 图形化界面设计软件简要介绍
  18. JS中常用的函数求和方法总结【五种方法】
  19. FIT2CLOUD飞致云发布开源轻量级云管平台CloudExplorer Lite
  20. 编译可在Android上运行的qemu

热门文章

  1. 第2周 Storm概念详解和工作原理,topology、spout、bolt的细节和API讲解之2
  2. biostar来电自动开机_bios设置来电自动开机
  3. wince 触摸屏 学习
  4. STM8S003串口printf及帧判断
  5. 英雄联盟英雄皮肤抓取
  6. GC问题排查实战三-Parallel Scavenge和Parallel Old日志分析
  7. 安装了两种oracle数据库怎么卸载,oracle数据库卸载步骤
  8. 苹果手机支持鸿蒙,除了苹果,这四款华为也能三年不卡,还能升级鸿蒙
  9. Linux基础PHP网站搭建
  10. 自定义Dialog去除白色背景 + Dialog其他用法