嵌套查询(二)-谓词EXISTS实现嵌套查询

一、EXISTS谓词

1、作用:用于判断一个子查询的结果是否为空

2、使用语法:

【NOT】EXISTS(子查询)

语义:如果子查询的查询结果不为空,则EXISTS为真,否则为假

二、举例

1、举例1:查询选修“003”课程的学生姓名

select sN
from s
where exists(
select *
from sC
where sC.sNo=s.sNo and cNo='003'
)

 该子查询是一个相关子查询,用到了父查询中当前元组的属性值

2、举例2:查询没有选修“003”课程的学生姓名(NOT是逻辑运算符,用于对布尔表达式的结果取反)

select sN
from s
where not exists(
select *
from sC
where sC.sNo=s.sNo and cNo='003'
)

3、举例3:查询选修全部课程的学生的姓名

(1)分析:

选修全部课程的学生=没有一门课他不选的学生=每门课他都有选课记录的学生

(2)SQL语句:

select sN
from s
where not exists(select *from cwhere not exists(select *from sCwhere s.sNo=sC.sNo and c.cNo=sC.cNo)
)

第一层子查询和第二层子查询都是相关子查询,用到了当前父查询元组的属性值

4、举例4:查询所学课程包含学生“嫦娥”所学课程的学生的姓名

select sN
from s
where not exists(select *from sC xwhere sNo='202218014030'and not exists(select *from sCwhere s.sNo=sC.sNo and x.cNo=sC.cNo)
)

第一层子查询和第二层子查询都是相关子查询,并且第二层子查询与第一层子查询中用到了相同的表并且还在第二层子查询中使用到了两个表的属性值比较,因此至少要对其中一个表进行重命名操作

三、总结

1、使用谓词EXISTS可实现连接查询,以及其它方式的嵌套查询无法实现的SELECT查询

2、所用带IN谓词、比较运算符、ANY谓词ALL谓词的子查询都可以使用带EXISTS谓词的子查询来进行等价替换

3、嵌套查询是指在一个SELECT查询中嵌套另一个SELECT查询,增强了SQL语言的查询能力,层层嵌套的查询方式正是SQL语言的"结构化"特征所在

4、在实际应用中,应根据查询需求选择合适的查询嵌套方式,在相关子查询中一定要注意是否需要进行重命名操作

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/26877.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【数据结构 |集合框架、泛型】初始集合框架、时间(空间)复杂度、简单认识泛型

✨✨谢谢大家捧场,祝屏幕前的小伙伴们每天都有好运相伴左右,一定要天天开心哦!✨✨ 🎈🎈作者主页: 🎈丠丠64-CSDN博客🎈 ✨✨ 帅哥美女们,我们共同加油!一起…

【启明智显彩屏应用】Model3A 7寸触摸彩屏的充电桩应用方案

一、充电桩概述 (一)充电桩诞生背景 随着社会的进步和人们生活质量的提升,汽车已逐渐融入每个家庭的日常生活中。然而,汽车数量的激增也带来了严重的环境污染问题,特别是尾气排放。为了应对这一挑战,新能源…

用PlayCanvas打造一个3D模型

本文由ScriptEcho平台提供技术支持 项目地址:传送门 基于 PlayCanvas 的 3D 物理场景开发 应用场景介绍 PlayCanvas 是一款功能强大的 3D 引擎,可用于创建各种类型的 3D 体验,包括游戏、模拟和交互式可视化。本技术博客将介绍如何使用 Pl…

怎么把wma格式转化为mp3格式?四种wma格式转成MP3格式的方法

怎么把wma格式转化为mp3格式?转换WMA格式音频文件为MP3格式是一个常见的需求,尤其是在我们希望在不同设备或平台上播放音频时。WMA格式虽然在Windows系统中较为常见,但在其他平台上的兼容性可能不如MP3格式。因此,将WMA转换为MP3是…

基于Spring Boot的智能分析平台

项目介绍: 智能分析平台实现了用户导入需要分析的原始数据集后,利用AI自动生成可视化图表和分析结论,改善了传统BI系统需要用户具备相关数据分析技能的问题。该项目使用到的技术是SSMSpring Boot、redis、rabbitMq、mysql等。在项目中&#…

在 Wed 中应用 MyBatis(同时使用MVC架构模式,以及ThreadLocal 事务控制)

1. 在 Wed 中应用 MyBatis(同时使用MVC架构模式,以及ThreadLocal 事务控制) 文章目录 1. 在 Wed 中应用 MyBatis(同时使用MVC架构模式,以及ThreadLocal 事务控制)2. 实现步骤:1. 第一步&#xf…

Vulnhub-DC-1,7

靶机IP:192.168.20.141 kaliIP:192.168.20.128 网络有问题的可以看下搭建Vulnhub靶机网络问题(获取不到IP) 前言 1和7都是Drupal的网站,只写了7,包含1的知识点 信息收集 用nmap扫描端口及版本号 进入主页查看作者给的提示,不是暴力破解的…

nodejs湖北省智慧乡村旅游平台-计算机毕业设计源码00232

摘 要 随着科学技术的飞速发展,社会的方方面面、各行各业都在努力与现代的先进技术接轨,通过科技手段来提高自身的优势,旅游行业当然也不能排除在外。智慧乡村旅游平台是以实际运用为开发背景,运用软件工程开发方法,采…

Weighted A* 改进型(1):XDP

本文的主要内容来自于文献[1],总的来说这篇文献给我的感觉就是理论证明非常精妙,最后的实际效果也是提升的非常明显。 在Introduction中作者给出了一般Best first search(BFS,常用的包括A *,weighted A * &#xff0c…

TK防关联引流系统:全球多账号运营,一“键”掌控!

在TikTok的生态系统中,高效管理多个账号对于品牌推广的成功起着决定性的作用。TK防关联引流系统,作为一款专门为TikTok用户打造的强大工具,为全球范围内的多账号运营提供了坚实的支持。 TK防关联引流系统的核心优势体现在以下几个方面&#x…

anaconda安装pytorch-快速上手99%可以(可以虚拟环境OR不进行虚拟环境)

一、预备工作 先检查自己是否有anaconda 在cmd里面输入conda --version查看 二、在anaconda中创建虚拟环境 1.1 打开Anaconda Prompt 1.2 进行自定义安装python 将其中的自定义地址和版本换成自己想安装的地址和版本 我这里安装的地址是E:\Anaconda\DL,python版本是3.8.3…

uniapp地图自定义文字和图标

这是我的结构&#xff1a; <map classmap id"map" :latitude"latitude" :longitude"longitude" markertap"handleMarkerClick" :show-location"true" :markers"covers" /> 记住别忘了在data中定义变量…

Sqoop学习详细介绍!!

一、Sqoop介绍 Sqoop是一款开源的工具&#xff0c;主要用于在Hadoop(HDFS/Hive/HBase)与传统的数据库(mysql、postgresql...)间进行数据的传递&#xff0c;可以将一个关系型数据库&#xff08;例如 &#xff1a; MySQL ,Oracle ,Postgres等&#xff09;中的数据导进到Hadoop的H…

虚拟声卡实现音频回环

虚拟声卡实现音频回环 一、电脑扬声器播放声音路由到麦克风1. Voicemeeters安装设置2. 音频设备选择 二、回声模拟 一、电脑扬声器播放声音路由到麦克风 1. Voicemeeters安装设置 2. 音频设备选择 以腾讯会议为例 二、回声模拟 选中物理输入设备“Stereo Input 1”和物理输出设…

GlusterFS企业分布式存储

GlusterFS 分布式文件系统代表-nfs常见分布式存储Gluster存储基础梳理GlusterFS 适合大文件还是小文件存储&#xff1f; 应用场景术语Trusted Storage PoolBrickVolumes Glusterfs整体工作流程-数据访问流程GlusterFS客户端访问流程 GlusterFS常用命令部署 GlusterFS 群集准备环…

修改版的VectorDBBench更好用

原版本VectorDBBench的几个问题 在这里就不介绍VectorDBBench是干什么的了&#xff0c;上官网即可。 1.并发数设置的太少 2.测试时长30秒太长 3.连接milvus无用户和密码框&#xff0c;这个是最大的问题 4.修改了一下其它参数 由于很多网友发私信问一些milvus的相关技术问…

【机器学习】支持向量机(个人笔记)

文章目录 SVM 分类器的误差函数分类误差函数距离误差函数C 参数 非线性边界的 SVM 分类器&#xff08;内核方法&#xff09;多项式内核径向基函数&#xff08;RBF&#xff09;内核 源代码文件请点击此处&#xff01; SVM 分类器的误差函数 SVM 使用两条平行线&#xff0c;使用…

基于flask的网站如何使用https加密通信

文章目录 内容简介网站目录示例生成SSL证书单独使用Flask使用WSGI服务器Nginx反向代理参考资料 内容简介 HTTPS 是一种至关重要的网络安全协议&#xff0c;它通过在 HTTP 协议之上添加 SSL/TLS 层来确保数据传输的安全性和完整性。这有助于防止数据在客户端和服务器之间传输时…

高考志愿专业选择:计算机人才需求激增,人工智能领域成热门

随着2024年高考的落幕&#xff0c;数百万高三学生站在了人生新的十字路口&#xff0c;面临着一个重要的抉择&#xff1a;选择大学专业。这一选择不仅关乎未来四年的学习生涯&#xff0c;更可能决定一个人一生的职业方向和人生轨迹。在众多专业中&#xff0c;计算机相关专业因其…

如何用Xinstall CPS结算系统打破传统营销桎梏,实现用户增长?

在互联网流量红利逐渐衰退的今天&#xff0c;App推广和运营面临着前所未有的挑战。如何快速搭建起满足用户需求的运营体系&#xff0c;成为了众多企业急待解决的问题。而在这个关键时刻&#xff0c;Xinstall CPS结算系统应运而生&#xff0c;以其独特的优势帮助企业解决了一系列…