集合查询-并(UNION)集运算、交(INTERSECT)集运算、差(EXCEPT)集运算

一、概述

集合查询是对两个SELECT语句的查询结果进行再进行处理的查询

二、条件

1、两个SELECT语句的查询结果必须是属性列数目相同

2、两个SELECT语句的查询结果必须是对应位置上的属性列必须是相同的数据类型

三、并(UNION)运算

1、语法格式:

SELECT 语句1

UNION 【ALL】

SELECT 语句2

2、结果

两个SELECT语句并运算的结果就是两个查询结果中的元组,使用并运算进行集合查询在查询结果中会自动去除重复的元组

3、举例:查询选修了课程号为“001”或"002"的学生学号。

select sNo from sC where cNo='001'
union
select sNo from sC where cNo='002';

也可以使用一个SELECT语句来实现查询需求,但注意要用DISTINCE关键词去重

select distinct sNo
from sC
where cNo='001' or cNo='002'

四、交(INTERSECT)运算

1、语法格式:

SELECT 语句1

INTERSECT

SELECT 语句2

2、结果:

两个SELECT语句的查询结果进行交运算的结果是在两个SELECT语句中同时存在的元组的集合

3、举例:查询既选修了“001”课程又选修了“002”课程的学生学号

select sNo from sC where cNo='001' 
intersect
select sNo from sC where cNo='002';

4、使用单个的SELECT语句也可以满足查询需求

select sNo
from sC
where cNo='001' and sNo in(
select sNo
from sC
where cNo='002'
)

错误示例:

select sNo
from sC
where cNo='001' and cNo='002'

错因:一个元组在同一时刻同一属性只能为1个值,因此WHERE子句的运算结果始终为假

五、差(EXCEPT)运算

1、语法格式:

SELECT 语句1

EXCEPT

SELECT 语句2

2、结果:

两个SELECT语句的结果集进行差运算的结果是从第一个SELECT语句的结果集中去除第二个SELECT语句的结果集中存在的元组之后所形成的新的元组集

3、举例:查询选修了课程号为“001”但没选修“002”课程的学生学号

select sNo from sC where cNo='001'
except
select sNo from sC where cNo='002'; 

也可以使用一个SELECT语句来实现查询需求

select sNo
from sC
where cNo='001' and sNo not in(
select sNo
from sC
where cNo='002'
)

六、总结

1、集合查询体现了SQL语言对关系的操作能力

2、集合查询方式语义清晰,容易理解

3、不同的DBMS对集合查询的支持程度不同,语义动词可能会不一样,比如有的DBMS进行差集运算的语义动词是MINUS

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

闪灵CMS电子商城系统源码v5.0(自带微信小程序)

源码介绍 闪灵CMS电子商城系统源码,双语带手机版,PHPMYSQL进行开发,网站安装简单、快捷。 闪灵CMS系统更新日志 1.修复:修复了开启强制https后,说明文档重定向过多的问题 2.修复:修复了商品名称过长时无…

Vue2+Element-ui实现el-table表格自适应高度

效果图 新建指令 Vue.directive(height, {inserted(el, _binding, vnode) {const paginationRef vnode.context.$refs.paginationRefconst calculateHeight () > {const windowHeight window.innerHeightconst topOffset el.getBoundingClientRect().topconst otherEle…

智能座舱软件性能与可靠性的评估和改进

随着智能汽车的不断发展,智能座舱在性能与可靠性上暴露出体验不佳、投诉渐多的问题,本文从工程化的角度简述了如何构建智能座舱软件的评估框架,以及如何持续改进其性能和可靠性。 1. 智能座舱软件性能和可靠性表现不佳 据毕马威发布的《2023…

ComfyUI 完全入门:Refiner精炼器

在 SDXL基础模型1.0版本发布时,Stability AI 公司同时发布了一个名为SDXL Refiner的模型。这个Refiner模型是专门设计用来对基础模型生成的图像进行进一步优化和细化的,所以大家也经常称之为精炼器或者精修器。 Refiner模型的主要目的是提升图像的质量&…

写了6年SQL,推荐快速上手MySQL 的SQL语句

写了6、7年SQL,有写复杂,有写简单,但总体而言,基础是统一的,。就像编程之需要会加减乘除,用MySQL懂这些SQL就足够了。 目录 1. SELECT 查询2. WHERE 子句3. ORDER BY 子句4. GROUP BY 子句5. HAVING 子句6…

免费代理为什么不适合您的业务需求?

在数字时代,网络已经成为人们日常生活和商业活动中不可或缺的一部分。为了实现更广阔的业务拓展和更畅通的网络体验,许多人开始考虑使用代理服务器。然而,虽然免费代理可能听起来像是个经济实惠的选择,但事实上,它可能…

微服务开发与实战Day06 - MQ基础篇

一、MQ 高性能的异步通讯组件 课程背景 同步通讯:并发能力弱 异步通讯:并发能力强 1. 初始MQ 1.1 同步调用 以黑马商城的余额支付为例: (1)同步调用的优势是什么? 时效性强,等待到结果后才…

基于SSD的安全帽检测

目录 1. 作者介绍2. SSD算法介绍2.1 SSD算法网络结构2.2 SSD算法训练过程2.3 SSD算法优缺点 3. 基于SSD的安全帽检测实验3.1 VOC 2007安全帽数据集3.2 SSD网络架构3.3 训练和验证所需的2007_train.txt和2007_val.txt文件生成3.4 模型训练3.5 GUI界面3.6 结果展示3.7 文件下载 4…

【Unity+AI01】在Unity中调用DeepSeek大模型!实现AI对话功能!

要在Unity中调用DeepSeek的API并实现用户输入文本后返回对话的功能,你需要遵循以下步骤: 获取API密钥: 首先,你需要从DeepSeek获取API密钥。这通常涉及到注册账户,并可能需要订阅相应的服务。 集成HTTP请求库&#xf…

基于python多光谱遥感数据处理、图像分类、定量评估及机器学习

原文链接:基于python多光谱遥感数据处理、图像分类、定量评估及机器学习 普通数码相机记录了红、绿、蓝三种波长的光,多光谱成像技术除了记录这三种波长光之外,还可以记录其他波长(例如:近红外、热红外等)光…

pytorch神经网络训练(AlexNet)

导包 import osimport torchimport torch.nn as nnimport torch.optim as optimfrom torch.utils.data import Dataset, DataLoaderfrom PIL import Imagefrom torchvision import models, transforms 定义自定义图像数据集 class CustomImageDataset(Dataset): 定义一个自…

Ubuntu22.04 下 pybind11 搭建,示例

Pybind11 是一个轻量级的库,用于在 C 中创建 Python 绑定。Ubuntu22下安装pybind11步骤如下: 1. 安装 pybind11 1.1 pip 命令安装 pip3 install pybind11 1.2 源代码安装 安装依赖库: sudo pip install -i https://pypi.tuna.tsinghua.e…

AVR晶体管测试仪开源项目编译

AVR晶体管测试仪开源项目编译 📍原项目地址:https://github.com/Mikrocontroller-net/transistortester/tree/master🌿 https://github.com/svn2github/transistortester🌿 https://github.com/wagiminator/ATmega-Transistor-Tes…

2. Revit API UI 之 IExternalCommand 和 IExternalApplication

2. Revit API UI 之 IExternalCommand 和 IExternalApplication 上一篇我们大致看了下 RevitAPI 的一级命名空间划分,再简单讲了一下Attributes命名空间下的3个类,并从一个代码样例,提到了Attributes和IExternalCommand ,前者是指…

vite配置unocss

在vue3vitetseslintprettierstylelinthuskylint-stagedcommitlintcommitizencz-git介绍了关于vitevue工程化搭建,现在在这个基础上,我们增加一下unocss unocss官方文档 具体开发中使用遇到的问题可以参考不喜欢原子化CSS得我,还是在新项目中使…

NumPy和数组

1.NumPy是什么 NumPy(Numerical Python的缩写)是一个开源的Python科学计算模块,其中包含了许多实用的数学函数,用来处理数值型数据。NumPy中,最重要和使用最频繁的对象就是N维数组。 为什么要学习NumPy? …

Java高级技术探索:深入理解JVM内存分区与GC机制

文章目录 引言JVM内存分区概览垃圾回收机制(GC)GC算法基础常见垃圾回收器ParNew /Serial old 收集器运行示意图 优化实践结语 引言 Java作为一门广泛应用于企业级开发的编程语言,其背后的Java虚拟机(JVM)扮演着至关重…

TikTok Ads广告综合指南:竞价策略及效果建议

作为全球最受欢迎的应用程序之一,TikTok不仅为用户提供了记录分享生活中美好时刻、交流全球创意的平台,也给全球的企业提供了一个直接触达用户的平台。随着Z时代用户人群的购买力不断上升,出海广告主们也逐渐将目光放在TikTok方面的营销。 上…

【Linux系统编程】线程

Linux线程 文章目录 Linux线程1.进程与线程区别2.线程优点3.API概要4.线程1.线程的创建2.线程等待内存共享验证3.线程退出关于对void** &的理解拓展 4.互斥锁1.创建及销毁互斥锁2.加锁及解锁 5.什么情况下会造成死锁6.条件**1. 创建及销毁条件变量****2. 等待****3. 触发**…

基于大数据的主流电商平台获取商品详情数据SKU数据价格数据

主流电商平台:淘宝 1688 闲鱼 京东 唯品会 蘑菇街 一号店 阿里妈妈 阿里巴巴 苏宁 亚马逊 易贝 速卖通 电子元件 网易考拉 洋码头 VVIC MIC Lazada 拼多多 ​ ​​​​​​​关于电商大数据的介绍: 主流电商大数据的采集:电商API接口的接入…