14、Oracle中的Set运算符

news/2024/11/16 13:40:02/文章来源:https://www.cnblogs.com/huageyiyangdewo/p/18352093

最近项目要用到Oracle,奈何之前没有使用过,所以在B站上面找了一个学习视频,用于记录学习过程以及自己的思考。
视频链接:
【尚硅谷】Oracle数据库全套教程,oracle从安装到实战应用
如果有侵权,请联系删除,谢谢。

学习目标:

  • 描述 SET 操作符
  • 将多个查询用 SET 操作符连接组成一个新的查询
    • UNION/UNION ALL
    • INTERSECT
    • MINUS
  • 排序:ORDER BY

1、 SET 操作符

1.1、UNION 操作符

UNION 操作符返回两个查询的结果集的并集

UNION 操作示例

SELECT employee_id, job_id
FROM   employees
UNION
SELECT employee_id, job_id
FROM   job_history;

1.2、UNION ALL 操作符

UNION ALL 操作符返回两个查询的结果集的并集。对于两个结果集的重复部分,不去重。

UNION ALL操作shili

SELECT employee_id, job_id, department_id
FROM   employees
UNION ALL
SELECT employee_id, job_id, department_id
FROM   job_history
ORDER BY  employee_id;

1.3、INTERSECT 操作符

INTERSECT 操作符返回两个结果集的交集

INTERSECT操作示例

SELECT employee_id, job_id
FROM   employees
INTERSECT
SELECT employee_id, job_id
FROM   job_history;

1.4、MINUS 操作符

MINUS操作符:返回两个结果集的差集

假设有集合A和B,所有属于A且不属于B的元素的集合被称为A与B的差集。示例:对于集合A = {a, b, c, d}和集合B = {b, c, w},则A与B 的差集为{a, d}

MINUS操作示例

SELECT employee_id,job_id
FROM   employees
MINUS
SELECT employee_id,job_id
FROM   job_history;

1.5、使用 SET 操作符注意事项

  • 在SELECT 列表中的列名和表达式在数量和数据类型上要相对应

  • 括号可以改变执行的顺序

  • ORDER BY 子句:

    • 只能在语句的最后出现
    • 可以使用第一个查询中的列名, 别名或相对位置
  • 除 UNION ALL之外,系统会自动将重复的记录删除

  • 系统将第一个查询的列名显示在输出中

  • 除 UNION ALL之外,系统自动按照第一个查询中的第一个列的升序排列

2、匹配各SELECT 语句举例

SELECT department_id, TO_NUMBER(null) location, hire_date
FROM   employees
UNION
SELECT department_id, location_id,  TO_DATE(null)
FROM   departments;

SELECT employee_id, job_id,salary
FROM   employees
UNION
SELECT employee_id, job_id,0
FROM   job_history;

使用相对位置排序举例

COLUMN a_dummy NOPRINT
SELECT 'sing' AS "My dream", 3 a_dummy
FROM dual
UNION
SELECT 'I`d like to teach', 1
FROM dual
UNION 
SELECT 'the world to', 2
FROM dual
ORDER BY 2;

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

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

相关文章

15、Oracle中的高级子查询

最近项目要用到Oracle,奈何之前没有使用过,所以在B站上面找了一个学习视频,用于记录学习过程以及自己的思考。 视频链接: 【尚硅谷】Oracle数据库全套教程,oracle从安装到实战应用 如果有侵权,请联系删除,谢谢。学习目标:书写多列子查询 在 FROM 子句中使用子查询 在SQ…

DIY制作计算器——训练程序思维

自己做的计算器主要的逻辑如下:用两个集合,每个数字对应一个符号,先收集数字和符号,然后再处理乘除法,再处理加减法,最后得出计算的数字;(此方法不一定是最优方法,因为没有收集网络上的资料,是自己想出来的解决方案)按钮 “=” 的逻辑如下:var val = show.Text;var…

洛谷 CF896C Willem, Chtholly and Seniorious之珂朵莉树板子

洛谷CF896C题解传送锚点摸鱼环节 Willem, Chtholly and Seniorious 题面翻译 【题面】 请你写一种奇怪的数据结构,支持:\(1\) \(l\) \(r\) \(x\) :将\([l,r]\) 区间所有数加上\(x\) \(2\) \(l\) \(r\) \(x\) :将\([l,r]\) 区间所有数改成\(x\) \(3\) \(l\) \(r\) …

制作计算器——训练程序思维

自己做的计算器主要的逻辑如下:用两个集合,每个数字对应一个符号,先收集数字和符号,然后再处理乘除法,再处理加减法,最后得出计算的数字;(此方法不一定是最优方法,因为没有收集网络上的资料,是自己想出来的解决方案)按钮 “=” 的逻辑如下:var val = show.Text;var…

全新在线客服系统源码(pc+h5+uniapp+公众号小程序+抖音)附搭建接入教程

全新在线客服系统源码介绍 一、系统概述与优势 本系统是一款基于PHP的开源在线客服系统,支持PC端、移动端(小程序)、H5页面以及Uniapp多端接入。系统利用网络技术和人工智能技术,实现用户与客服人员的即时聊天沟通,有效提升服务质量和用户满意度。系统优势包括提高服务效率…

抖音私信客服系统 - 对接抖音私信统一接待回复 -以及私信或评论自动回复

在数字化时代,企业面临着前所未有的挑战与机遇。社交媒体的快速发展,尤其是小红书和抖音这样的平台,为企业提供了与消费者沟通和营销的新渠道。本文将探讨全渠道私信客服系统在企业转型中的重要性和独特价值。 一、小红书与抖音的崛起小红书以其精准的内容分享和消费推荐功能…

GitLab 之 Git LFS 大文件存储的配置

参考 https://cloud.tencent.com/developer/article/1010589LFS介绍 Git 大文件存储(Large File Storage,简称LFS)目的是更好地把大型二进制文件,比如音频文件、数据集、图像和视频等集成到 Git 的工作流中。我们知道,Git 存储二进制效率不高,因为它会压缩并存储二进制文…

lg-dp3

lg-dp3 计数的东西有什么特点、转化/好的刻画方式 A Farthest City题面关键信息:权值为1的最短路 --- bfs --- 分层那么显然加一个点他只能与上一层连,和一层内部连。则设 \(f_{i,j}\) 为 [点数,最后一层点数] 有 \[f_{i,j}=2^{j\choose 2}\sum_{k=1}^{i-j}{f_{i-j,k}(2^k-1…

FFmpeg开发笔记(四十五)使用SRT Streamer开启APP直播推流

​SRT Streamer是一个安卓手机端的开源SRT协议直播推流框架,可用于RTMP直播和SRT直播。SRT Streamer支持的视频编码包括H264、H265等等,支持的音频编码包括AAC、OPUS等等,可谓功能强大的APP直播框架。相比之下,另一款APP直播框架RTMP Streamer支持RTMP直播和RTSP直播,不支…

mongo变更流使用及windows下副本集五分钟搭建

mongodb的变更流解释: 变更流(Change Streams)允许应用程序访问实时数据变更,从而避免事先手动追踪 oplog 的复杂性和风险。应用程序可使用变更流来订阅针对单个集合、数据库或整个部署的所有数据变更,并立即对它们做出响应。由于变更流采用聚合框架,因此,应用程序还可对…

ConcurrentHashMap的原理

背景 我们知道hashmap是一个线程不安全的数据结构,在多线程编程的时候,多个线程同时向hashmap中put元素的时候,会发生数据丢失。多线程put操作后,再get操作导致死循环。 多线程put非NULL元素后,get操作得到NULL值。 使用 为了保证并发安全,我们使用hashmap的时候,建议是…