exists的实例解析
现有两个表
a:

b:

现有sql语句如下

select * from a where exists (select 1 from b where b.b_id = a.id);

执行结果如下:

含义解析:exists 的意思是用于检查子查询是否至少会返回一行数据,该子查询实际上并不返回任何数据,而是返回值True或False

EXISTS(包括 NOT EXISTS )子句的返回值是一个BOOL值。 EXISTS内部有一个子查询语句(SELECT … FROM…), 我将其称为EXIST的内查询语句。其内查询语句返回一个结果集。 EXISTS子句根据其内查询语句的结果集空或者非空,返回一个布尔值。
意思就是,将外查询表的每一行,代入内查询作为检验,如果内查询返回的结果取非空值,则EXISTS子句返回TRUE,那么带入内查询作检验的这一行数据,便会作为结果显示出来,反之则不显示

过程分析:首先外查询会将a变中的第一行数据带入exists的内查询中,通过主键关联检测是不是有数据能关联住,如果有返回true,并将a表中的第一行返回到前台,例如,a表中第一行是(1,张三),他会带入到b表中,通过id =1检测到能与b关联(因为b表中作主键的b_id也有值1),这样就会返回结果true,语句便会将这一行返回给前台,并不会在向下继续监测。然后在将a表第二行带入b表。然后第三行,,,,如果作为主键id中没有能找到b表b_id做关联的,那就返回false。sql不会将a表中的这行数据显示出来

not exists 与exists 相反
————————————————
版权声明:本文为CSDN博主「-你真好看-」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/enbaoIT/article/details/103468779

SQL中的Exists 用法解释相关推荐

  1. 你真的了解SQL中的EXISTS谓词吗?

    EXISTS 谓词的用法 支撑 SQL 和关系数据库的基础理论主要有两个:一个是数学领域的集合论,另一个是作为现代逻辑学标准体系的谓词逻辑(predicate logic),准确地说是"一阶 ...

  2. SQL中关于EXISTS的嵌套子查询问题

    SQL中关于EXISTS的嵌套子查询问题 SQL语句中,没有蕴含式和全程量词,所以这个时候,我们可以用离散数学的理论,将命题变化,然后使用EXISTS语句来查询,确实有点难以理解,下面我举一个例子来解 ...

  3. SQL 中的exists关键字

    今天同事问我一个SQL,使用的是exists子查询,因为对SQL不是很熟,所以就趁机查了下资料,了解一下SQL中的exists和not exists的用法. 注:本文基本上是转自别人的博客,下面附上所 ...

  4. 【SQL中limit的用法】

    SQL中limit的用法 说明:limit子句用于限制查询结果返回的数量,常用于分页查询. 用法:[select * from tableName limit i,n ] 参数:tableName: ...

  5. SQL中Truncate的用法

    转自:https://www.cnblogs.com/zhoufangcheng04050227/p/7991759.html 本文导读:删除表中的数据的方法有delete,truncate, 其中T ...

  6. 关于SQL中not exists的双重否定的一些记录

    作者:kuikui 关于SQL中not exists的双重否定的一些记录 室友在学习数据库时遇到了not exists双重否定的一些问题 在csdn上学习大佬们的理解办法 借此机会回顾一下 eg.表结 ...

  7. sql中return/break/continue解释

    sql中return/break/continue解释 2016-07-20 11:12:28 一,return:从查询或过程中无条件退出.可在任何时候用于从过程.批处理或语句块中退出.RETURN ...

  8. sql去重复操作详解SQL中distinct的用法

    在表中,可能会包含重复值.这并不成问题,不过,有时您也许希望仅仅列出不同(distinct)的值.关键词 distinct用于返回唯一不同的值. 表A: 表B: 1.作用于单列 select dist ...

  9. Oralce 使用SQL中的exists 和not exists 用法详解

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

最新文章

  1. css/js压缩工具
  2. eclipse工程设置项目jre
  3. Spring Boot Admin:微服务应用监控
  4. opengl加载显示3D模型ZGL类型文件
  5. 制作唐诗网页代码_分享FrontPage制作网页的几个技巧
  6. 检测同心圆_两“心”携手,共抗心衰——“同心圆”心衰俱乐部走进临安图书馆~...
  7. Linux之Mysql升级
  8. 小米max2怎么长截屏?
  9. 工具:BT Sync 同步文件
  10. 自律不熬夜真的那么难吗?
  11. elisa标准曲线怎么做_如何拟合Elisa标准曲线
  12. Prometheus Operator开始
  13. markdown提示错误HTML Rendering Error: An error occurred with the HTML rendering component
  14. PL3366C-ASEMI移动电源管理IC
  15. java笔记——反射
  16. html怎么绑定数据,06、如何在html中绑定数据
  17. java token 有效期_Java编程——Token 认证的来龙去脉
  18. 机器人关节摩擦力的变化规律
  19. atoi函数的模拟实现
  20. 安信可TB系列低功耗蓝牙模块选型表

热门文章

  1. 51单片机和Arduino有什么区别?
  2. 如何在 Windows 右键菜单中新建自己想要的文件格式
  3. 使用ethers.js执行读函数与写函数
  4. 【Python】pyqt5-----QLabel
  5. i7 9750h和r7 5800h差距大不大
  6. 我们对区块链游戏的期望太高了
  7. scm概念的scm存储
  8. 什么是数据库连接池?数据库连接池的机制?
  9. 太极图用html做的原理,用HTML画个太极图
  10. Android获取正在运行的进程列表