SQL中关于EXISTS谓词的理解

39 篇文章 67 订阅
订阅专栏
13 篇文章 28 订阅
订阅专栏
1 篇文章 1 订阅
订阅专栏

Exists的语法


  在SQL语言中,EXISTS(存在)谓词是一个非常重要的查询关键词。

 

让我们先看看EXISTS的用法:EXISTS代表存在量词。带有EXISTS谓词的子查询不返回任何数据只产生逻辑真值“true”或逻辑假值“false”

例如,以下的SQL语句:

 

SELECT sname
FROM student
WHERE exists
(
SELECT *
  FROM sc
  WHERE sc.sno=student.sno AND cno='1;
)

 

Exists的通俗理解


本查询涉及表student和sc表。我们可以这样理解上面的SQL语句做的事情:在student表中从头到尾每次取一个元组出来,用这个元组的sno与sc表所有的元组做比较,如果比较条件成立(sc表中存在sno值等于student.sno中值并且其cno='1'的元组),即exists语句中的SQL语句有返回值过来,则EXISTS返回给上一级元组一个true值,则表示允许现在student表中的这个元组可以放入结果表中。

 

使用exists后,若内层查询结果非空,则外层的WHERE子句返回真值,否则返回假值。

由exists引出的子查询,其目标列表达式通常都用*,因为EXISTS的子查询只返回真值或者假值,不返回选择出来的结果,因此,你给什么样的列名最后返回的都是true或者false,所以给出实际列名无意义。

 

对于如何写带有EXISTS查询的子句,我是这样理解的:

1.首先子查询中必须要有依赖父查询的条件,即我们单独把子查询的select语句提出来不能正常运行。

2.每次查询时父查询表中的一个元组对子查询所有的元组进行判定,如果为true则父查询中的这个元组允许放入结果表,否则进行父查询下一个元组的判定。

基础不牢?新手不友好?无人带路?关注《扬俊的小屋》公众号吧!


 

 

SQL进阶教程——EXISTS谓词的用法(第八章)
qq_28285403的博客
11-01 1162
1. 前言 支撑SQL和关系数据库的基础理论主要有两个:一个是数学领域的集合论;另一个是作为现代逻辑学标准体系的谓词逻辑。 2. 理论篇 什么是谓词 返回值为真值的函数 实体的阶层 一介谓词:输入值为行(=或者between) 二阶谓词:输入值为行的集合(exists) 三阶谓词:输入值为集合的集合 … 关系数据库实体的阶层 0阶:行 1阶:表(行的集合) 2阶:表的集合 全程量化...
SQL之对EXISTS谓词理解
垒高
10-26 341
一、首先明确几点: EXISTS相当于存在量词彐 EXISTS和NOT EXISTS不返回任何数据,只返回逻辑真或者假 由EXISTS引出的子查询,其目标列表达式通常都用*,因为EXISTS的子查询只返回真值或者假值,不返回选择出来的结果,因此,你给什么样的列名最后返回的都是true或者false,所以给出实际列名无意义。 例1: SELECT sname FROM student WH...
SQLEXISTS理解
ChengR666的博客
09-04 417
将外查询表的每一行,代入内查询作为检验,如果内查询返回的结果取非空值,则EXISTS子句返回TRUE,这一行行可作为外查询的结果行,否则不能作为结果。 先上表 过程:外查询Persons表,提取出数据到EXISTS内查询做验证, 因为SELECT NULL有返回一行数据,所以所有外查询数据都提取到了。 过程:外查询Persons表,提取出数据到EXISTS内查询做验证, 因为SELECT 语句没有行数据,所以所有外查询数据都没有验证通过,返回空。 示例:查询有订单的人员信息。 过程:外查询Person
sql exists详解
weixin_43381041的博客
05-28 332
首先创建两张表做测试 tablea aid aNAME 1 A1 2 A2 3 A3 tableb bID AID bNAME 1 1 B1 2 2 B2 3 2 B3 写出三条sql来测试效果 select * from tablea a where EXISTS (select * from tableb b where a.aid = b.aid ) select * from tablea a where EXISTS (select *
sql exists代表什么意思
Interesting_Talker的博客
08-02 3819
Exists 方法 描述如果在 Dictionary 对象指定的关键字存在,返回 True,若不存在,返回 False。 举个例子吧: select * from a where exists(select * from b where a.id = b.id); a表和b表使用id关联,这条语句的含义是,当b表能够查询出结果时,exists(select * from b where a.id...
SQL复习-EXISTS谓词
03-01
SQL查询EXISTS谓词是一个非常...总之,理解并熟练运用EXISTS谓词对于提升SQL查询性能和编写高效的数据库查询语句具有重要意义。在实际工作,应根据具体情况灵活选择EXISTS、IN或JOIN,以实现最优的查询效果。
SQL08 EXISTS谓词
qq_41725735的博客
09-05 244
这里写目录标题一级目录二级目录三级目录 一级目录 二级目录 三级目录
浅析SQLWHERE EXISTS子查询.pdf
09-19
SQL(Structured Query Language)是一种功能强大、通用的关系数据库语言,而SQL语言的核心是SELECT语句,其WHERE子句的条件表达式表现得灵活而复杂,和谓词DISJunctive所形成的嵌套查询也成为部分人理解的难点。...
mysql带有谓词的查询_MySql数据库之数据查询(单表查询、连接查询、嵌套查询、集合查询、派生查询)...
weixin_31185473的博客
02-18 512
目录一、本篇作为例子的三个表二、单表查询1、选择表的的若干列(1) 查询指定列(2)查询全部列(3)查询经过计算的值2、选择表的若干元组(1)消除取值重复的行(2)查询满足条件的元组(3)ORDER BY 子句(4)聚集函数(自带函数)COUNT(*):统计元组个数COUNT(列名):统计某列元组的个数SUM(列名):计算一列值的总和AVG(列名):计算一列值的平均值MAX(列名):一列值...
SQLEXISTS的用法
weixin_30702413的博客
12-25 6207
比如在Northwind数据库有一个查询为 SELECT c.CustomerId,CompanyName FROM Customers c WHERE EXISTS( SELECT OrderID FROM Orders o WHERE o.CustomerID=c.CustomerID) 这里面的EXISTS是如何运作呢?子查询返回的是OrderId字段,可是外面的查询要找的是Cu...
SQL语句带有exists谓词的子查询和相关子查询
iTaylorfan的博客
05-18 3725
(注:student是学生信息表,sc是学生选课表,course是课程信息表) exists谓词查询 查询与其他所有学生年龄均不同的学生学号, 姓名和年龄 (即不存在年龄相同的) select sno,sname,sage from student s where not exists (select sage from student t where s.sage=t.sage and s.sno!=t.sno); 查询所有选修了1号课程的学生姓名 (即存在选修了1号课程的学生) select
对于SQLEXISTS谓词理解
Tiger985的博客
11-24 549
SQL语言EXISTS(存在)谓词是一个非常重要的查询关键词。 带有EXISTS谓词的子查询不返回任何数据,只产生逻辑真值“true”或逻辑假值“false”。 例如: FROM student WHERE exists ( SELECT * FROM sc WHERE sc.sno=student.sno AND cno='1; ) 在这里插入代码片 本查询涉及表student和sc表。我们可以这样理解上面的SQL语句做的事情:在student表从头到尾每次取一个元组出来,用这个元组的s
SQL语句查询谓词Exists原理之我见
爬虫 的博客
11-09 865
SQL使用exists表示判断子查询是否存在记录,它返回的是true或false字段。如果有记录返回,则返回值,否则返回为false。 exists做为where 条件时,是先对where 前的主查询询进行查询,然后用主查询的结果一个一个的代入exists的查询进行判断,如果为真则输出当前这一条主查询的结果,否则不输出。 一般在使用exists时,它的语法结构如下: Select 字段1,
你真的了解SQLEXISTS谓词吗?
最新发布
Huangjiazhen711的博客
10-09 976
SQL 的保留字,有很多都被归为谓词一类。例如,“= 、< 、>”等比较谓词,以及 BETWEEN 、LIKE 、IN 、IS NULL 等。当然,我们说的谓词和主语/谓语的谓语,以及英语的动词是不一样的。实际上,谓词是一种特殊的函数,返回值是真值。前面提到的每个谓词,返回值都是 true 、 false 或者 unknown (一般的谓词逻辑里没有 unknown ,但是 SQL 采用的是三值逻辑,因此具有三种真值)。
SQL查询 — EXISTS谓词的用法
Jill_JCSDN的博客
06-10 770
SQL进阶教程》摘录
mysql带有谓词的查询,MySQL第三章——嵌套查询
weixin_35853499的博客
03-18 532
嵌套查询在SQL语句,一个 select — from — where 语句是一个查询块,将一个查询块嵌套在另一个查询块的 where 字句或者 having 短语的条件的查询称为 嵌套查询。外层查询或父查询、内层查询或子查询SQL语言允许多层嵌套查询,即一个子查询还可以嵌套其他子查询。特别注意:子查询的 select 语句不能使用 order by 子句,order by 子句只能对最终...
javaexists什么意思_SQLEXISTS和IN的区别?
weixin_39610366的博客
03-02 389
SQLEXISTS和IN子句有什么区别?我们何时应该使用EXISTS ,何时应该使用IN ?#1楼Exists关键字计算true或false,但IN关键字比较相应子查询列的所有值。 另一个Select 1可以与Exists命令一起使用。 例:SELECT * FROM Temp1 where exists(select 1 from Temp2 where conditions...)但IN...
SQLEXISTS谓词详解
"EXISTS谓词SQL语言用于判断子查询是否返回结果的重要工具,它与存在量词的概念相呼应。EXISTS谓词的子查询不会返回具体的数据,而是返回一个逻辑值,即真(true)或假(false)。如果内层查询返回的结果集非空...
写文章

热门文章

  • JavaWeb——Servlet(全网最详细教程包括Servlet源码分析) 441312
  • JAVA基础——接口(全网最详细教程) 380349
  • 快速幂算法(全网最详细地带你从零开始一步一步优化) 191797
  • 动态规划之——矩阵连乘(全网最详细博文,看这一篇就够了!) 71954
  • 汉明码——计算机网络——全网最通俗的讲解 60857

分类专栏

  • 笔试笔记 13篇
  • 数据结构与算法 39篇
  • JAVA 9篇
  • 数据库 1篇
  • Python
  • Linux
  • 操作系统 2篇
  • 程序设计 3篇
  • JAVAEE 2篇
  • office办公
  • 计算机网络 3篇
  • Spring 2篇
  • XML
  • 汇编语言 1篇
  • JavaScript 1篇
  • 设计模式 1篇
  • Android安卓开发
  • Android安卓 1篇

最新评论

  • 快速幂算法(全网最详细地带你从零开始一步一步优化)

    刘扬俊: 如果有人逼你看,建议找帽子叔叔处理呢

  • 快速幂算法(全网最详细地带你从零开始一步一步优化)

    永韶: 看之后:给我关注!!!关注!!%%%%%

  • 快速幂算法(全网最详细地带你从零开始一步一步优化)

    永韶: 看之前:什么?要关注?真抠门!

  • 什么是Base64算法?——全网最详细讲解

    诗人贫瘠的土地: base64的好处是所有的数据都可见了。当然,本来用256个字符来表示的信息,要用64个可见字符来表示,必然会导致信息的体积变大

  • JavaWeb——Servlet(全网最详细教程包括Servlet源码分析)

    约束112: 大佬,我写了一篇博客想引用您文章中的内容可以嘛

大家在看

  • 【第十五章:Sentosa_DSML社区版-机器学习关联规则】
  • Vue3: computed都懒更新了,version计数你还不知道?
  • 电脑分流抢票软件 Bypass v1.16.29 完全免费版
  • JavaScript 数据可视化:前端开发的核心工具 1365
  • 01 [51单片机 PROTEUS仿真设计]基于温度传感器的恒温控制系统 392

最新文章

  • 从加解密到数字证书(通过职场有趣小故事深入浅出)
  • 什么是双亲委派机制?
  • Spring框架——Bean的Scope(作用域)易错陷阱解析
2023年2篇
2019年9篇
2018年16篇
2017年25篇

目录

目录

评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

玻璃钢生产厂家珠海公仔玻璃钢雕塑重庆玻璃钢泡沫雕塑厂芜湖学校玻璃钢雕塑价位广东玻璃钢卡通雕塑公仔定做户内玻璃钢雕塑设计云浮玻璃钢公园雕塑太原人物玻璃钢雕塑制作中庭商场美陈有哪些描玻璃钢卡通雕塑厂家铜陵商场美陈道具商场美陈图片秋季双蛋商场活动美陈长治玻璃钢花盆花器楚雄市玻璃钢雕塑设计价格遂川玻璃钢雕塑厂家鱼玻璃钢雕塑定做玻璃钢道具雕塑厂家广州玻璃钢园林雕塑玻璃钢雕塑怎么翻模佛山玻璃钢割禾人物雕塑山东玻璃钢雕塑品牌好江苏艺术商场美陈研发公司深圳市丽吉尚玻璃钢雕塑济南清远玻璃钢动物雕塑绵阳玻璃钢雕塑制作厂家耐高温玻璃钢雕塑摆件多少钱玻璃钢大白熊雕塑北京户内玻璃钢雕塑定制圣诞玻璃钢雕塑定制福建秋季商场美陈价格香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化