SQL查询中in和exists的区别
当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的区别相关推荐
- Sql语句中IN和exists的区别及应用
表展示 首先,查询中涉及到的两个表,一个user和一个order表,具体表的内容如下: user表: order表: in 确定给定的值是否与子查询或列表中的值相匹配.in在查询的时候,首先查询子查询 ...
- Sql 语句中 IN 和 EXISTS
原文链接: (2条消息)Sql 语句中 IN 和 EXISTS 的区别及应用 - jcpp9527的博客 - CSDN博客 https://blog.csdn.net/wqc19920906/art ...
- sql之嵌套查询中的带exists谓词的子查询
数据库系统概论之嵌套查询中的带exists谓词的子查询 一.exists谓词概述:exists谓词代表存在量词.带有exists谓词的子查询不返回任何数据,只产生逻辑真值"true" ...
- MySQL中In与Exists的区别
MySQL中In与Exists的区别 1 例子 2 EXISTS和IN的介绍 2.1 exists 2.2 in 2.3 使用上的区别 3 EXISTS和IN的性能分析 4 总结 1 例子 有两个表需 ...
- SQL Server 中 EXEC 与 SP_EXECUTESQL 的区别
SQL Server 中 EXEC 与 SP_EXECUTESQL 的区别 原文:SQL Server 中 EXEC 与 SP_EXECUTESQL 的区别 MSSQL为我们提供了两种动态执行SQL语 ...
- SQL Server中SCAN 和SEEK的区别
SQL Server中SCAN 和SEEK的区别 SQL SERVER使用扫描(scan)和查找(seek)这两种算法从数据表和索引中读取数据.这两种算法构成了查询的基础,几乎无处不在.Scan会扫描 ...
- 读书笔记:SQL 查询中的SQL*Plus 替换变量(DEFINE变量)和参数
本文为"SQL*Plus 替换变量 - 在 SQL 查询中定义变量和参数"的读书笔记. 此文主要是讲替换变量,也称为DEFINE变量,但也涉及了绑定变量和SQL Plus系统变量. ...
- vba ado 执行多条mysql 语句,Excel VBA+ADO+SQL入门教程003:SQL查询中字段技巧的总结...
原标题:Excel VBA+ADO+SQL入门教程003:SQL查询中字段技巧的总结 本章概要: 1,几个概念 1.1, 数据库和Excel工作簿 1.2,数据表和Excel工作表 1.3,记录.字段 ...
- oracle查数据存入数组,如何在SQL查询中使用Oracle关联数组
ODP.Net公开了将关联数组作为参数从C#传递到Oracle存储过程的能力.除非您尝试在sql查询中使用该关联数组中包含的数据,否则它是一个很好的功能. 原因是它需要上下文切换 – SQL语句需要S ...
- SQL查询中having和where的异同点
SQL查询中having与where 的异同点 在sql查询中, having与where类似,可以筛选数据,where后的表达式怎么写,having后就怎么写. 1. where针对表中的列发挥作用 ...
最新文章
- 图像配准----NCC
- python 虚拟环境依赖复制
- 如何防止google colab 掉线
- Delphi数据类型及转换(附:源码)
- wincc历史数据库_什么是数据库?如何学习数据库?
- OpenCV图像修补
- [Android] AsyncTask详解
- c语言怎样存放学生信息,C语言共用体存放学生信息
- R中读取Excel大文件
- NSA机密文件泄密者如何暴露身份
- 阿里P9技术:我来聊聊百万年薪
- 方正飞鸿智能信息平台产品白皮书(一)
- FAT32与NTFS区别
- OC中链式编程和函数式编程
- 2020年iOS如何申请苹果公司开发者账号流程详细图文介绍
- 【论文学习】基于区块链的档案数据保护和共享方法
- 图形化界面设计软件简要介绍
- JS中常用的函数求和方法总结【五种方法】
- FIT2CLOUD飞致云发布开源轻量级云管平台CloudExplorer Lite
- 编译可在Android上运行的qemu
热门文章
- 第2周 Storm概念详解和工作原理,topology、spout、bolt的细节和API讲解之2
- biostar来电自动开机_bios设置来电自动开机
- wince 触摸屏 学习
- STM8S003串口printf及帧判断
- 英雄联盟英雄皮肤抓取
- GC问题排查实战三-Parallel Scavenge和Parallel Old日志分析
- 安装了两种oracle数据库怎么卸载,oracle数据库卸载步骤
- 苹果手机支持鸿蒙,除了苹果,这四款华为也能三年不卡,还能升级鸿蒙
- Linux基础PHP网站搭建
- 自定义Dialog去除白色背景 + Dialog其他用法