Oracle集合查询详解加练习题

news2024/11/29 8:34:39

#集合查询
概念:将不同的数据集合(SQL查询语句)按照集合的规则,拼接一个临时的,新的数据集合(表)
在这里插入图片描述

1.集合:并集、交集、差集
并集 union all
语法:select column1,COLUMN2…from table_name
UNION ALL
select column1,COLUMN2…from table_name
UNION ALL
select column1,COLUMN2…from table_name

UNION ALL 查询结果为合并结果,不去重,不排序
union 语法:
select column1,COLUMN2…from table_name UNION
union查询结果为合并结果,并去重,并默认根据第一行正序排序
2.交集
INTERSECT
语法:select column1,COLUMN2…from table_name
INTERSECT
select column1,COLUMN2…from table_name
INTERSECT
select column1,COLUMN2…from table_name
intrsect 查询结果为:获取两个结果中的相同部分,并去重,并默认第一行正序排序
3.差集
MINUS
语法:select column1,COLUMN2…from table_name
minus
select column1,COLUMN2…from table_name
minus
minusselect column1,COLUMN2…from table_name

minus 查询结果为:第一个结果减去第二个中相同部分,只获取结果中独有的数据,并去重,并默认根据第一列正序排序

—查询工资等于1250和等于3000的员工的编号,姓名,工资
select empno,ename,sal from emp where sal=1250 or sal=3000;
select empno,ename,sal from emp where sal in(1250,3000);
select empno,ename,sal from emp where sal= any(1250,3000);

select empno,ename,sal from emp where sal = 1250
union ALL
SELECT empno,ename,sal from emp where sal = 3000;

select empno,ename,sal from emp where sal = 1250
union
SELECT empno,ename,sal from emp where sal = 3000;

—查询工资大于1600的员工信息和工资小于3000的员工信息的同样部分
select * from emp where sal>1600 and sal<3000;

SELECT * from emp where sal>1600
INTERSECT
SELECT * from emp where sal<3000;

SELECT job from emp where sal>1600
INTERSECT
SELECT job from emp where sal<3000;

SELECT empno,job from emp where sal>1600
INTERSECT
SELECT empno,job from emp where sal<3000;

—查询工资大于1300的员工和工资小于3000的员工中查询小于1300的独有的信息

select * from EMP where sal>1300
MINUS
SELECT * from EMP where sal<3000;

select * from EMP where sal<3000
MINUS
select * from EMP where sal>1300

----查询集合结果的显示
select empno 员工编号,ename,job from emp where sal>1000
UNION
select empno,enme,job from emp where sal<1600;

—如果查询列数不一致——————不可以,结果列数不一致,报错
select empno ,ename,job,sal from emp where sal>1000
UNION
select empno,enme,job from emp where sal<1600;

—数据类型不一致,报错
select empno ,ename,job,sal from emp where sal>1000
intersect
select ename,empno,job,sal from emp where sal<3000;

select empno ,ename,job,sal from emp where sal>1000
MINUS
select sal,job,empno,empno from emp where sal<3000;
注意:
查询结果列名为第一个查询结果列名为准
2.查询结果列数必须一致
3.查询结果顺序要一直,数据类型要一致

重点:
1.UNION 和 union ALL union :排序去重,union all :不排序 不去重
2.union/intersect/minus 均会按照第一个列升序去排序,去重
3.minus 用于查询集合中的独有数据
4.minus签后集合的顺序不同影响返回结果
5.集合操作时候注意:集合的列的数据类型和个数要一致

附加:
查询10号部门独有的工作和查询20号部门独有的工作并吧这些合并查询

#练习题
1.查询部门编号是10,20的员工信息
select * from EMP where deptno=10 or deptno=20;
select * from EMP where deptno in(10,20);
select * from emp where deptno=any(10,20);

select * from EMP where deptno=10
union all
select * from EMP where deptno=20;

2.查询员工信息,职位是CLERK或者SALESMAN或者ANALYST
select * from emp where job=‘CLERK’
UNION
SELECT *from EMP where job=‘SALESMAN’
union
SELECT *from EMP where job=‘ANALYST’
3.查询薪资是800 950 的员工信息
select * from emp where sal=800
union ALL
select * from emp where sal=950
4.查询上级编号7902、7698的员工信息
select * from EMP where empno=7902
union all
select * from EMP where empno=7698
5.员工工资不是 800和1600的员工信息
select * from emp where sal!=800
INTERSECT
select * from emp where sal!=1600

6.查询员工薪资为1000到3000的员工信息
select * from EMP where sal>1000
INTERSECT
select * from emp where sal<3000;

7.查询员工编号在7500到7700之间的员工
select * from emp where empno>7500
INTERSECT
select * from emp where empno<7700;

8.查询姓名是以A开头的、薪资在1000到1500之间的员工
select * from emp where ename like ‘A%’
INTERSECT
select * from EMP where sal>1000
INTERSECT
select * from emp where sal<1500;

9.查询薪资在1000-3000之间,并且部门编号是10或者20
select * from EMP where sal>1000
INTERSECT
select * from emp where sal<3000
INTERSECT
select * from EMP where deptno=10
UNION all
select * from EMP where deptno=20;

10.查询(部门编号是20并且工作岗位是CLERK的员工) ,或者薪资大于3000的员工
select * from EMP where deptno =20
INTERSECT
select * from EMP where job=‘CLERK’
union all
select * from emp where sal>3000

11.查询没有员工的部门编号
SELECT * from dept where deptno not in (select DISTINCT deptno from emp)

12.查询30号部门中有,10部门没有的岗位名称
select DISTINCT job from EMP where deptno=30
MINUS
select DISTINCT job from EMP where deptno=10

13查询10号部门独有的工作和查询20号部门独有的工作并把这些合并查询

select DISTINCT JOB from emp where deptno=10
MINUS
select DISTINCT JOB from emp where deptno=20
MINUS
select DISTINCT JOB from emp where deptno=30
union

select DISTINCT JOB from emp where deptno=20
MINUS
select DISTINCT JOB from emp where deptno=10
MINUS
select DISTINCT JOB from emp where deptno=30

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

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

相关文章

「MongoDB」时序数据库和MongoDB第二部分-模式设计最佳实践

在上一篇博客文章时间序列数据与MongoDB&#xff1a;第一部分-简介中&#xff0c;我们介绍了时间序列数据的概念&#xff0c;然后介绍了一些可以用于帮助收集时间序列应用程序需求的发现问题。对这些问题的回答有助于指导支持大容量生产应用程序部署所需的模式和MongoDB数据库配…

基于深度学习PaddleOcr身份证识别

之前使用opencv机械学习处理图片&#xff0c;使用Testseract-OCR进行身份证和姓名识别&#xff0c;发现受背景图片的影响比较大&#xff0c;转PaddleOcr&#xff0c;识别成功率能达到使用要求。 PaddleOcr官网地址&#xff1a;飞桨PaddlePaddle-源于产业实践的开源深度学习平台…

Python爬虫-某跨境电商(AM)搜索热词

前言 本文是该专栏的第42篇,后面会持续分享python爬虫干货知识,记得关注。 关于某跨境电商(AM),本专栏前面有单独详细介绍过,获取配送地的cookie信息以及商品库存数据,感兴趣的同学可往前翻阅。 1. python爬虫|爬取某跨境电商AM的商品库存数据(Selenium实战) 2. Seleni…

偶数科技发布实时湖仓数据平台 Skylab 5.0

2023 年 4 月 11 日&#xff0c; 偶数发布了最新的实时湖仓数据平台 Skylab 5.0&#xff0c;平台各个组件进行了全面升级。新版 Skylab 的发布标志着偶数科技具有从数据存储、计算、管理到分析、应用和 AI 能力的完整的数据管理生态闭环&#xff0c;帮助用户实现批流一体、实时…

贴完车衣开车就走?

贴完车衣之后&#xff0c;你以为直接开走就好了吗&#xff1f; 大错特错&#xff01;&#xff01;&#xff01; 正确流程&#xff0c;记得收藏起来&#xff01; 1&#xff1a;膜开箱&#xff1a;这个当场开箱&#xff0c;防止偷梁换柱 2&#xff1a;装贴过程&#xff1a;确认施…

损失函数(Loss Function)一文详解-分类问题常见损失函数Python代码实现+计算原理解析

目录 前言 一、损失函数概述 二、损失函数分类 1.分类问题的损失函数 1.交叉熵损失函数&#xff08;Cross Entropy Loss&#xff09; 2.Hinge损失函数 3.余弦相似度损失函数&#xff08;Cosine Similarity Loss&#xff09; 4.指数损失函数&#xff08;Exponential Los…

Next.js Polygon, Solidity,The Graph,IPFS,Hardhat web3博客系统

参考 源文档The Complete Guide to Full Stack Web3 Development - DEV Community 源码&#xff0c;源文章里的github项目无法直接运行&#xff0c;经过修改后可mac中可用GitHub - daocodedao/web3-blog: https://linzhji.blog.csdn.net/article/details/130125634 框架 博客…

python pandas数据处理excel、csv列转行、行转列(具体示例)

一、数据处理需求 对Excel或CSV格式的数据,我们经常都是使用pandas库读取后转为DataFrame进行处理。有的时候我们需要对其中的数据进行行列转换,但是不是简单的行列转换,因为数据中有重复的数据属性。比如我们的数据在Excel中的格式如下: 那么,我们如何将上面的数据格式转…

2023爱分析·商业智能应用解决方案市场厂商评估报告:数聚股份

目录 1. 研究范围定义 2. 商业智能应用解决方案市场分析 3. 厂商评估&#xff1a;数聚股份 4. 入选证书 1. 研究范围定义 商业智能&#xff08;BI&#xff09;是在实现数据集成和统一管理的基础上&#xff0c;利用数据存储和处理、分析与展示等技术&#xff0c;满足企…

Java多线程案例-Java多线程(3)

各位观众老爷们, 创作不易, 多多支持&#x1f636;‍&#x1f32b;️&#x1f64f;&#x1f618; 字数11223, 时间:2023年4月16日11:19:58 状态: 精神恍恍惚惚, 想打游戏&#x1f975; 目录(点击传送) 单例模式 饿汉模式 懒汉模式 单线程版 多线程版 阻塞队列 什么是阻塞队…

助力工业物联网,工业大数据之ODS层及DWD层建表语法【七】

文章目录ODS层及DWD层构建01&#xff1a;课程回顾02&#xff1a;课程目标03&#xff1a;数仓分层回顾04&#xff1a;Hive建表语法05&#xff1a;Avro建表语法ODS层及DWD层构建 01&#xff1a;课程回顾 一站制造项目的数仓设计为几层以及每一层的功能是什么&#xff1f; ODS&am…

Pytorch-gpu的安装

1.先安装cuda和cudnn 推荐安装cuda11.3和cuda10.2&#xff0c;因为这两个版本用的多。 安装教程可以看我的另一篇文章&#xff1a; cuda和cudnn安装教程 2.安装对应版本的Pytorch Pytorch的版本需要和cuda的版本相对应。具体对应关系可以去官网查看。这里先附上一张对应关系…

openpnp - 顶部相机 - 辅助光(环形灯)的电路原理图

文章目录openpnp - 顶部相机 - 辅助光(环形灯)的电路原理图概述ENDopenpnp - 顶部相机 - 辅助光(环形灯)的电路原理图 概述 同学帮我做的简易灯板设计不太合理, 发热量极大. 想看看商用的环形灯电路啥样的, 如果有可能, 自己做块灯板, 塞进商用环形灯外壳中. 拆解了一个环形灯…

数据库备份

数据库备份&#xff0c;恢复实操 策略一&#xff1a;&#xff08;文件系统备份工具 cp&#xff09;&#xff08;适合小型数据库&#xff0c;是最可靠的&#xff09; 1、停止MySQL服务器。 2、直接复制整个数据库目录。注意&#xff1a;使用这种方法最好还原到相同版本服务器中&…

【图像分类】【深度学习】ViT算法Pytorch代码讲解

【图像分类】【深度学习】ViT算法Pytorch代码讲解 文章目录【图像分类】【深度学习】ViT算法Pytorch代码讲解前言ViT(Vision Transformer)讲解patch embeddingpositional embeddingTransformer EncoderEncoder BlockMulti-head attentionMLP Head完整代码总结前言 ViT是由谷歌…

Spring Boot+Vue实现Socket通知推送

目录 Spring Boot端 第一步&#xff0c;引入依赖 第二步&#xff0c;创建WebSocket配置类 第三步&#xff0c;创建WebSocket服务 第四步&#xff0c;创建Controller进行发送测试 Vue端 第一步&#xff0c;创建连接工具类 第二步&#xff0c;建立连接 ​编辑 第三步&a…

xxl-job-2.3.1 本地编译jar包并部署

参考网上其他文章&#xff0c;总结步骤 一、官网地址 分布式任务调度平台XXL-JOB 二、源码地址 github&#xff1a; GitHub - xuxueli/xxl-job: A distributed task scheduling framework.&#xff08;分布式任务调度平台XXL-JOB&#xff09; gitee: xxl-job: 一个分布…

k8s v1.26.2 安装部署步骤

准备 开通端口 master需要开通的端口: TCP: 6443 2379 2380 10250 10259 10257 ,10250 30000~30010(应用) node需要开通的端口: TCP: 10250 30000~30010(应用) master加端口 firewall-cmd --permanent --add-port6443/tcp firewall-cmd --permanent --add-port2379/tcp fir…

数据库学习笔记 概念数据库的设计(2)

回顾上节课的内容 数据库的设计:概念设计:抽取实体和联系 逻辑设计:设计模式 设计模式 物理设计:设计数据库的内模式 和存储和存取相关的配置 sql创建索引可以做分表 将所有学生存入一张表或者每个学院一个表 根据某种条件进行分表 CSstudent 实体联系模型 叫ER图 实体(矩形)和…

城乡供水信息化平台建设-构建智慧美丽乡村

建设方案 城乡供水信息化系统是运用云计算、大数据等信息化手段&#xff0c;借助在线监测设备&#xff0c;并依托“城乡供水信息化平台”&#xff0c;实时感知供水系统的运行状态&#xff0c;实现对农村供水工程远程监控、在线监测、实时预警、智慧监管。 系统功能 水源地监测&…