exist和not exist用法
转载自: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 = 1 )
-- -> 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用法相关推荐
- matlab里exist是什么意思,exist的用法总结大全
exist的意思 vi. 存在,生存,生活,继续存在 变形:过去式: existed: 现在分词:existing: 过去分词:existed: exist用法 exist可以用作动词 exist的基 ...
- matlab中exist函数用法
exist有两种形式,一个参数和两个参数的,都是用来确定某个值(对象)是否存在 1. r = exist( a) 若 a 存在,则 r = 1: 否则 r = 0: 2. r = exis ...
- exsist什么意思_exist什么意思_通达信EXIST什么意思
matlab中的exist是什么意思 exist用来判断变量或函数是否存在: exist Check if variables or functions are defined. exist('A' ...
- exist not exist 分析
结果集1 结果集2: 最后连接条件 执行过程: 一行一行遍历结果集1的数据,然后结果集1中的连接条件执行子查询,如果有值返回那么在看是exist 还是not exist 在决定最后的结果集是否要要不 ...
- sql语法理解(exist)
1.今天有个需求,就是要找到我们从原表A洗出来的映射表B中的数据是否全,就是A表中是否有没有在B表的,后来研究了一下,可以用not exist 实现, exist和in的区别就是in是in查询的条件只 ...
- matlab之exist函数
作用: 检查变量.脚本.函数.文件夹或类的存在情况 语法: exist name exist name searchType A = exist() 说明: exist name 以数字形式返回 na ...
- shell脚本逻辑判断,文件目录属性判断,if,case用法
shell脚本中的逻辑判断 1.if then fi [root@weixing01 shell]# cat if1.sh #!/bin/bash a=5 if [ $a -gt 3 ] thenec ...
- exists sql用法_干货!SQL性能优化,书写高质量SQL语句
写SQL语句的时候我们往往关注的是SQL的执行结果,但是是否真的关注了SQL的执行效率,是否注意了SQL的写法规范? 以下的干货分享是在实际开发过程中总结的,希望对大家有所帮助! 1. limit分页 ...
- Shell编程(逻辑判断、文件目录属性判断、if特殊用法、case判断)
为什么80%的码农都做不了架构师?>>> shell脚本中的逻辑判断 在shell脚本当中很多地方都会用到逻辑判断,判断某一个数值,判断某个目录或文件,然后针对判断的结果再做一 ...
最新文章
- 2017上半年软考 第七章 重要知识点
- 79期:Faceu的分布式数据库实战访谈
- window 下Eclipse c++的开发环境配置
- 帝国cms万能通用api二次开发核心包使用说明
- Spring.NET学习笔记10——方法的注入(基础篇) Level 200
- 谷歌核心算法大更新,如何趋利避害对电商网站排名影响?
- 2019计算机组成原理及答案,2019计算机组成原理复习题(一)
- Windows核心编程之核心总结(第一章 错误处理)(2018.5.26)
- java虚拟机存储空间_配置Java虚拟机内存大小
- java进销存--商品管理
- 利用在线技术更改图片清晰度
- 推荐三款重复文件查找利器
- iOS中Keychain保存用户名和密码
- 页面置换算法之 LRU算法
- 工业4.0细谈MES制造执行系统
- 【量化交易】永久投资组合,海龟交易法则阅读,回测与讨论
- Android 获取网页的视频链接
- 用web连接数据库完成登录
- win to go 体验,口袋里的windows(上)
- Windows X64汇编入门
热门文章
- mysql 临时表建索引_使用select中的索引在MySQL中创建一个临时表
- Android Notes|BottomNavigationView 爱上 Lottie
- week11 day7 模型层
- 腾讯薪酬改革:晋升不再直接调薪;iPhone 4S 和 6S 将被列入过时产品;Perl 5.36.0发布|极客头条...
- WPS文字如何退出修订模式?
- 10月23日:关于在FlexCell从SQL2000里加载记录,并实现层次化显示
- linux系统结构详解
- IM即时通讯设计 高并发聊天服务:服务器 + qt客户端(附源码)
- edius、premiere 和 Final cut 的比较、区别!
- HEU Tunnels(常规最小生成树)