exists 和not exists用法

exists表示()内子查询语句返回结果不为空说明where条件成立就会执行主sql语句,如果为空就表示where条件不成立,sql语句就不会执行。

not exists和exists相反,子查询语句结果为空,则表示where条件成立,执行sql语句。

dept,emp表中关联字段deptno,部门dept表有deptno为10,20,30,40 的部门id号,emp员工表中有员工信息及所在的部门deptno号,分别有属于10,20,30,40的部门ID号员工,共有14位员工。

案例一、

select * from emp e where exists (select 1 from dept t where t.deptno=10);
结果查询出所有员工信息14条记录,exits子查询中结果不为空,就会执行主sql语句,所以查询出emp所有记录。

案例二、
select * from emp e where exists (select 1 from dept t where t.deptno=10 and t.deptno=e.deptno);
结果查询出属于部门ip 10的所有员工信息,如果emp表中员工有属于20,30,40部门的通过exists子查询是为空的记录,主sql不查询。属于部门10的员工有记录,主sql执行。

案例三、
select * from emp e where not exists (select 1 from dept t where t.deptno=10);

结果记录为空,因为not exists子查询结果有值,不为空,则主sql不查询。

案例四、
select * from emp e where not exists (select 1 from dept t where t.deptno=10 and t.deptno=e.deptno);
结果查询出属于部门id不属于10的所有员工信息,emp表中员工有属于10部门的通过not exists子查询是不为空的记录,主sql不查询。

exists 和not exists用法相关推荐

  1. oracle中的exists 和 not exists 用法详解

    from:http://blog.sina.com.cn/s/blog_601d1ce30100cyrb.html oracle中的exists 和 not exists 用法详解 (2009-05- ...

  2. exists和not exists的用法

    一.exists和not exists的用法 exists : 强调的是是否返回结果集,不要求知道返回什么, 比如: select name from student where sex = 'm' ...

  3. oracle中exists和not exists用法(包含经典例题:查看学了所有课程的同学的信息的通俗易懂解释)

    1.基本概念: select * from A where not exists(select * from B where A.id = B.id); select * from A where e ...

  4. 1.oracle中的exists 和not exists 用法:

    1.oracle中的exists 和not exists 用法: exists (sql 返回结果集为真) not exists (sql 不返回结果集为真) 如下: 表A ID NAME 1 A1 ...

  5. mysql not exists 用法_mysql 子查询 exists 和 not exists使用方法和实例

    MySQL EXISTS 和 NOT EXISTS 介绍 SELECT ... FROM table WHERE EXISTS (subquery) 该语法可以理解为:将主查询的数据,放到子查询中做条 ...

  6. mysql exists例子_mysql exists用法

    在mysql中,有个关键字exists比较难理解,今天就来搞明白其含义和应用 exists的使用总是跟子查询关联起来,一种是不相关子查询,对于exists来说更常用的是相关子查询 不相关子查询:子查询 ...

  7. sql中 in 、not in 、exists、not exists 用法和差别

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

  8. 真正理解exists 和not exists

    前言 今天看了下mysql训练题,其中有一题很有意思. ​     下面也写了sql解答,使用了group_concat()函数,这个函数是分组后将一组的字段(比如name)拼接在一起,默认以逗号分隔 ...

  9. [20180808]exists and not exists.txt

    [20180808]exists and not exists.txt --//生产系统遇到的一个性能问题,通过例子来说明: 1.环境: SCOTT@test01p> @ ver1 PORT_S ...

最新文章

  1. lstm timestep一般是多少_用LSTM中的不同时间步长预测使用keras
  2. OpenCV透视变换应用于图像的实例(附完整代码)
  3. Jerry 2017年的五一小长假:8种经典排序算法的ABAP实现
  4. 大学c语言下上机考试题,计算机考试二级C语言上机试题下[5]
  5. 部署到Maven中央存储库
  6. ubuntu server修改系统时区和系统时间
  7. 新手程序员如何找一个靠谱的公司
  8. 怎样对流媒体进行压力测试_对node工程进行压力测试与性能分析「干货」
  9. 八大排序算法思想介绍
  10. keepalived+LVS 详解(3) -- VRRP协议简介
  11. C#如何快速释放内存的大数组详解
  12. Arduino使用人体红外传感器
  13. Kprobe-based Event Tracing
  14. vue中事件监听watch
  15. ROX-Filer 2.6
  16. keil5编译后Code RO-data RW-data ZI-data是什么
  17. 【电脑系统】制作U盘启动盘(适用win)
  18. word里添加加行号可编辑的代码方式,超级方便简单
  19. 你真的知道Win 10中注销、睡眠、休眠的区别么?
  20. 什么是启发式算法(heuristic algorithm)?

热门文章

  1. 如何在js中使用ajax请求数据,在 JS 中如何使用 Ajax 来进行请求
  2. java泛型 初始化_Java泛型详解
  3. oracle dataguard ddl,Oracle 11G R2 DataGuard日常维护及故障处理
  4. 电商+小程序直播,前景如何?
  5. 找不到夺神之权服务器,3月23日夺神之权服务器停机更新公告
  6. Java文件操作详解
  7. 基于Matlab的形状识别与计算图形周长,面积,圆周率
  8. 怪物猎人x服务器维护,怪物猎人X006报错解决办法 怪物猎人X掉线怎么办
  9. 永恒纪元服务器维护时间,37永恒纪元(页游)3月16日关服停止运营公告
  10. 编写文档的5W2H原则