转载自:http://www.cnblogs.com/johnsmith/archive/2011/09/07/2169407.html

参考:http://wenku.baidu.com/view/577f4d49cf84b9d528ea7a6f.html    //这个讲的很详细

引用自:http://chenling1018.blog.163.com/blog/static/14802542007112944944177/

--exists       (sql       返回结果集,为真)
--not       exists       (sql       不返回结果集,为真)
--如下:
--表A
ID   NAME
1       A1
2       A2
3       A3 

-- 表B 
ID AID NAME 
1   1  B1 
2   2  B2 
3   2  B3 -- 表A和表B是1对多的关系 A.ID => B.AID

SELECT  ID,NAME  FROM  A  WHERE  EXIST ( SELECT   *   FROM  B  WHERE  A.ID = B.AID) 
-- 执行结果为 
1  A1 
2  A2 -- 原因可以按照如下分析 
SELECT  ID,NAME  FROM  A  WHERE   EXISTS  ( SELECT   *   FROM  B  WHERE  B.AID =
-- -> SELECT * FROM B WHERE B.AID=1有值,返回真,所以有数据

SELECT  ID,NAME  FROM  A  WHERE   EXISTS  ( SELECT   *   FROM  B  WHERE  B.AID = 2
-- -> SELECT * FROM B WHERE B.AID=2有值,返回真,所以有数据

SELECT  ID,NAME  FROM  A  WHERE   EXISTS  ( SELECT   *   FROM  B  WHERE  B.AID = 3
-- -> SELECT * FROM B WHERE B.AID=3无值,返回假,所以没有数据

--NOT   EXISTS   就是反过来
SELECT   ID,NAME   FROM   A   WHERE NOT   EXIST   (SELECT   *   FROM   B   WHERE   A.ID=B.AID)
--执行结果为
3       A3 

===========================================================================

--EXISTS   =   IN,意思相同不过语法上有点点区别,好像使用IN效率要差点,应该是不会执行索引的原因
SELECT   ID,NAME   FROM   A    WHERE ID   IN   (SELECT   AID   FROM   B) 
--NOT   EXISTS   =   NOT   IN   ,意思相同不过语法上有点点区别
SELECT   ID,NAME   FROM   A   WHERE ID NOT   IN   (SELECT   AID   FROM   B)

exist和not exist用法相关推荐

  1. matlab里exist是什么意思,exist的用法总结大全

    exist的意思 vi. 存在,生存,生活,继续存在 变形:过去式: existed: 现在分词:existing: 过去分词:existed: exist用法 exist可以用作动词 exist的基 ...

  2. matlab中exist函数用法

    exist有两种形式,一个参数和两个参数的,都是用来确定某个值(对象)是否存在 1. r = exist( a)       若 a 存在,则 r = 1: 否则 r = 0: 2. r = exis ...

  3. exsist什么意思_exist什么意思_通达信EXIST什么意思

    matlab中的exist是什么意思 exist用来判断变量或函数是否存在: exist  Check if variables or functions are defined. exist('A' ...

  4. exist not exist 分析

    结果集1 结果集2: 最后连接条件 执行过程: 一行一行遍历结果集1的数据,然后结果集1中的连接条件执行子查询,如果有值返回那么在看是exist  还是not exist 在决定最后的结果集是否要要不 ...

  5. sql语法理解(exist)

    1.今天有个需求,就是要找到我们从原表A洗出来的映射表B中的数据是否全,就是A表中是否有没有在B表的,后来研究了一下,可以用not exist 实现, exist和in的区别就是in是in查询的条件只 ...

  6. matlab之exist函数

    作用: 检查变量.脚本.函数.文件夹或类的存在情况 语法: exist name exist name searchType A = exist() 说明: exist name 以数字形式返回 na ...

  7. shell脚本逻辑判断,文件目录属性判断,if,case用法

    shell脚本中的逻辑判断 1.if then fi [root@weixing01 shell]# cat if1.sh #!/bin/bash a=5 if [ $a -gt 3 ] thenec ...

  8. exists sql用法_干货!SQL性能优化,书写高质量SQL语句

    写SQL语句的时候我们往往关注的是SQL的执行结果,但是是否真的关注了SQL的执行效率,是否注意了SQL的写法规范? 以下的干货分享是在实际开发过程中总结的,希望对大家有所帮助! 1. limit分页 ...

  9. Shell编程(逻辑判断、文件目录属性判断、if特殊用法、case判断)

    为什么80%的码农都做不了架构师?>>>    shell脚本中的逻辑判断 在shell脚本当中很多地方都会用到逻辑判断,判断某一个数值,判断某个目录或文件,然后针对判断的结果再做一 ...

最新文章

  1. 2017上半年软考 第七章 重要知识点
  2. 79期:Faceu的分布式数据库实战访谈
  3. window 下Eclipse c++的开发环境配置
  4. 帝国cms万能通用api二次开发核心包使用说明
  5. Spring.NET学习笔记10——方法的注入(基础篇) Level 200
  6. 谷歌核心算法大更新,如何趋利避害对电商网站排名影响?
  7. 2019计算机组成原理及答案,2019计算机组成原理复习题(一)
  8. Windows核心编程之核心总结(第一章 错误处理)(2018.5.26)
  9. java虚拟机存储空间_配置Java虚拟机内存大小
  10. java进销存--商品管理
  11. 利用在线技术更改图片清晰度
  12. 推荐三款重复文件查找利器
  13. iOS中Keychain保存用户名和密码
  14. 页面置换算法之 LRU算法
  15. 工业4.0细谈MES制造执行系统
  16. 【量化交易】永久投资组合,海龟交易法则阅读,回测与讨论
  17. Android 获取网页的视频链接
  18. 用web连接数据库完成登录
  19. win to go 体验,口袋里的windows(上)
  20. Windows X64汇编入门

热门文章

  1. mysql 临时表建索引_使用select中的索引在MySQL中创建一个临时表
  2. Android Notes|BottomNavigationView 爱上 Lottie
  3. week11 day7 模型层
  4. 腾讯薪酬改革:晋升不再直接调薪;iPhone 4S 和 6S 将被列入过时产品;Perl 5.36.0发布|极客头条...
  5. WPS文字如何退出修订模式?
  6. 10月23日:关于在FlexCell从SQL2000里加载记录,并实现层次化显示
  7. linux系统结构详解
  8. IM即时通讯设计 高并发聊天服务:服务器 + qt客户端(附源码)
  9. edius、premiere 和 Final cut 的比较、区别!
  10. HEU Tunnels(常规最小生成树)