SQL中的Exists 用法解释
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 用法解释相关推荐
- 你真的了解SQL中的EXISTS谓词吗?
EXISTS 谓词的用法 支撑 SQL 和关系数据库的基础理论主要有两个:一个是数学领域的集合论,另一个是作为现代逻辑学标准体系的谓词逻辑(predicate logic),准确地说是"一阶 ...
- SQL中关于EXISTS的嵌套子查询问题
SQL中关于EXISTS的嵌套子查询问题 SQL语句中,没有蕴含式和全程量词,所以这个时候,我们可以用离散数学的理论,将命题变化,然后使用EXISTS语句来查询,确实有点难以理解,下面我举一个例子来解 ...
- SQL 中的exists关键字
今天同事问我一个SQL,使用的是exists子查询,因为对SQL不是很熟,所以就趁机查了下资料,了解一下SQL中的exists和not exists的用法. 注:本文基本上是转自别人的博客,下面附上所 ...
- 【SQL中limit的用法】
SQL中limit的用法 说明:limit子句用于限制查询结果返回的数量,常用于分页查询. 用法:[select * from tableName limit i,n ] 参数:tableName: ...
- SQL中Truncate的用法
转自:https://www.cnblogs.com/zhoufangcheng04050227/p/7991759.html 本文导读:删除表中的数据的方法有delete,truncate, 其中T ...
- 关于SQL中not exists的双重否定的一些记录
作者:kuikui 关于SQL中not exists的双重否定的一些记录 室友在学习数据库时遇到了not exists双重否定的一些问题 在csdn上学习大佬们的理解办法 借此机会回顾一下 eg.表结 ...
- sql中return/break/continue解释
sql中return/break/continue解释 2016-07-20 11:12:28 一,return:从查询或过程中无条件退出.可在任何时候用于从过程.批处理或语句块中退出.RETURN ...
- sql去重复操作详解SQL中distinct的用法
在表中,可能会包含重复值.这并不成问题,不过,有时您也许希望仅仅列出不同(distinct)的值.关键词 distinct用于返回唯一不同的值. 表A: 表B: 1.作用于单列 select dist ...
- Oralce 使用SQL中的exists 和not exists 用法详解
exists表示() 内子查询返回结果不为空,说明where条件成立就会执行sql语句:如果为空,表示where条件不成立,sql语句就不会执行. not exists和 exists相反,子查询语 ...
最新文章
- css/js压缩工具
- eclipse工程设置项目jre
- Spring Boot Admin:微服务应用监控
- opengl加载显示3D模型ZGL类型文件
- 制作唐诗网页代码_分享FrontPage制作网页的几个技巧
- 检测同心圆_两“心”携手,共抗心衰——“同心圆”心衰俱乐部走进临安图书馆~...
- Linux之Mysql升级
- 小米max2怎么长截屏?
- 工具:BT Sync 同步文件
- 自律不熬夜真的那么难吗?
- elisa标准曲线怎么做_如何拟合Elisa标准曲线
- Prometheus Operator开始
- markdown提示错误HTML Rendering Error: An error occurred with the HTML rendering component
- PL3366C-ASEMI移动电源管理IC
- java笔记——反射
- html怎么绑定数据,06、如何在html中绑定数据
- java token 有效期_Java编程——Token 认证的来龙去脉
- 机器人关节摩擦力的变化规律
- atoi函数的模拟实现
- 安信可TB系列低功耗蓝牙模块选型表