一、in 和exists函数简介:

函数简介:in是把外表和内表作hash连接,而exists是对外表作loop循环,每次loop循环再对内表进行查询。如果两个表中一个较小,一个较大,则子查询表大的用exists,子查询表小的用in;举例如下:

select * from A where cc in (select cc from B);  -- 效率低,用了A表上cc列的索引
select * from A where exists(select cc from B where cc = A.cc);  --效率高,用到了B表上cc列的索引

相反的 :

select * from B where cc in (select cc from A);-- 效率高,用到了B表上cc列的索引;
select * from B where exists(select cc from A where cc=B.cc);-- 效率低,用到了A表上cc列的索引;

  二、not in 和not exists简介

          如果查询语句使用了not in,那么内外表都进行全表扫描,没有用到索引;而not exists的子查询依然能用到表上的索引。所以无论哪个表大,用not exists都比not in要快。

     三、in 与 = 的区别

-- 例如,如下两个SQL语句的查询结果相同:
select name from student where name in ('zhang','wang','li','zhao');
select name from student where name='zhang' or name='li' or name='wang' or name='zhao';
查询实例:

表一:STUDENT(学生表)                                                                                                               

表二:CLASS(班级表)

SQL查询示例及结果:

数据库查询函数exists和in的简单用法相关推荐

  1. Python爬虫及其它函数知识读记及简单用法,持续更新中...

    Python爬虫相关函数知识读记及简单用法,持续更新中- requests [riˈkwests] n. 请求,要求( request的名词复数 ): 需要: 所请求的事物: 申请书 函数或单词- 音 ...

  2. python中的函数参数主要有四种_python3中函数参数的四种简单用法

    {"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...

  3. php简单的mysql类_超简单php mysql数据库查询类

    本文章为你免费提供一款漂亮的超简单php mysql数据库查询类哦 */ class Config{ private $host;        //主机名称:一般是localhost private ...

  4. mysql数据库查询源码_超简单php mysql数据库查询类

    本文章为你免费提供一款漂亮的超简单php mysql数据库查询类哦 */ class Config{ private $host; //主机名称:一般是localhost private $root; ...

  5. mysql数据库in函数查询是否走索引

    mysql数据库in函数查询是否走索引? IN 通常是走索引的,当IN后面的数据在数据表中超过30%的匹配时是全表的扫描,不会走索引,因此IN走不走索引与后面的数据量有关系! 昨天恰好在工作中遇到了这 ...

  6. Django(九)模型:dj查询数据库的函数(方法)

    一.查询函数 通过模型类.objects属性可以调用如下函数,实现对模型类对应的数据表的查询. 函数表 函数名 功能 返回值 说明 get 返回表中满足条件的一条且只能有一条数据. 返回值是一个模型类 ...

  7. 查询mysql的函数_数据库基本查询函数

    1.注释语法:--,# 2.后缀是.sql的文件是数据库查询文件 3.保存查询 4.在数据库里面 列有个名字叫字段 行有个名字叫记录 CRUD操作: create 创建(添加) read 读取 upd ...

  8. 08--MySQL自学教程:DQL(数据库查询)字段控制查询、聚合函数、分组查询、limit(二)

    DQL数据库查询前四种方法参见: 地址:http://blog.csdn.net/baidu_37107022/article/details/72594234 1.方法概览 一下查询使用queryD ...

  9. kettle中使用javascript步骤和fireToDB函数实现自己定义数据库查询

    kettle中使用javascript步骤和fireToDB函数实现自己定义数据库查询 如果你须要实现非传统的数据库查询操作.为了讨论这样的情景,我们如果你须要读取数据库中的正則表達式,然后检查输入的 ...

最新文章

  1. UOJ #282 糖果
  2. java date 过时_java Date中方法toLocaleString过时的替代方案
  3. 美国远程医疗公司First Stop Health获210万天使投资
  4. 【总结】有三AI秋季划人脸算法组3月直播讲了哪些内容,计算机视觉你不可能绕开人脸图像...
  5. Cannot find source code based button in SE24
  6. 404 错误页面_如何设计404错误页面,以使用户留在您的网站上
  7. Linux创始人:v5.8是有史以来最大的发行版之一
  8. 使用LinkedList模拟一个堆栈或者队列数据结构
  9. html5绘制矩形动画,HTML5下绘制矩形教程
  10. Java工作笔记-JPA查询达梦7数据库(Spring Boot + ORM)
  11. 有没有一些细分IT行业,没有35岁现象
  12. java8 gc配置_基于JDK8的JVM参数设置和GC日志解读
  13. mac上latex生成不了pdf_Mac 10.8 下安装Sphinx并支持生成中文PDF
  14. Rsync结合Inotify 实时同步配置
  15. java获取一段话的首字母或拼音
  16. 禁止win10自动更新_一键禁止WIN10自动更新!
  17. 下载支持包时出现问题。要解决此问题,请参阅相应的 MATLAB Answer
  18. windows编写bat脚本删除隐藏文件夹下的所有文件
  19. 在阿里云从0开始部署vue+springboot项目
  20. MacOS-Homebrew

热门文章

  1. 微信小程序的定位功能的实现
  2. 男人小便后别做1件事
  3. 三菱FX3U——ST编程IF判断
  4. 功能测试用例编写模板与教程
  5. ps笔记:通过三种方式调节图片亮度
  6. 互联网江湖,“鲶鱼”如何变“鲨鱼”?
  7. 关于6轴传感器LSM6DSLTR的调试说明
  8. 鲍曼技术大学的计算机专业好不好,除了莫斯科鲍曼技术大学理工强 俄罗斯还有加里宁工程学院...
  9. c语言递归函数的使用
  10. css样式引入的优先级