在having、select子句中使用子查询

news/发布时间2024/5/15 17:46:25

目录

在having子句中使用子查询

统计出部门平均工资高于公司平均工资的部门编号、平均工资、部门人数

在select子句中使用子查询

查询每个员工的编号、姓名、职位、部门名称


Oracle从入门到总裁:https://blog.csdn.net/weixin_67859959/article/details/135209645

在having子句中使用子查询

如果要使用 having子句,那么必须要结合 group by 子句,而如果要使用 group by 子句,就一定要分组

统计出部门平均工资高于公司平均工资的部门编号、平均工资、部门人数

第一步:根据部门编号分组,统计出每个部门编号的平均工资、部门人数

SQL> select deptno,count(*),avg(sal)2  from emp3  group by deptno;DEPTNO   COUNT(*)   AVG(SAL)
---------- ---------- ----------30          6 1566.6666710          3 2916.6666720          3 2258.33333

 第二步:如果要想知道哪些部门的平均工资高于公司的平均工资,则应该进行 emp 表的统计查询

SQL> select avg(sal) from emp;AVG(SAL)
----------
2077.08333

此时的子查询返回了单行单列的数据,那么肯定要在 having子句里面使用

第三步:对数据过滤

SQL> select deptno,count(*),avg(sal)2  from emp3  group by deptno4  having avg(sal)>(5  select avg(sal) from emp);DEPTNO   COUNT(*)   AVG(SAL)
---------- ---------- ----------10          3 2916.6666720          3 2258.33333

这个可能有点难度哈,需要多加练习

在select子句中使用子查询

首先需要明确的是,这样操作的意义不大,而且效率不高。不过我们也介绍一下它 的使用方法

查询每个员工的编号、姓名、职位、部门名称

按照一般思路,可以使用多表查询,即下面的查询语句

SQL> select e.empno,e.ename,e.job,d.dname2  from emp e,dept d3  where e.deptno=d.deptno;EMPNO ENAME                JOB                DNAME
---------- -------------------- ------------------ ----------------------------7839 KING                 PRESIDENT          ACCOUNTING7782 CLARK                MANAGER            ACCOUNTING7934 MILLER               CLERK              ACCOUNTING7902 FORD                 ANALYST            RESEARCH7369 SMITH                CLERK              RESEARCH7566 JONES                MANAGER            RESEARCH7900 JAMES                CLERK              SALES7844 TURNER               SALESMAN           SALES7654 MARTIN               SALESMAN           SALES7521 WARD                 SALESMAN           SALES7499 ALLEN                SALESMAN           SALES7698 BLAKE                MANAGER            SALES

 而现在可以利用子查询,在 select子句里面简化操作

SQL> select e.empno,e.ename,e.job,(2  select dname d from dept d where d.deptno=e.deptno)3  from emp e;EMPNO ENAME                JOB                (SELECTDNAMEDFROMDEPTDWHERED
---------- -------------------- ------------------ ----------------------------7369 SMITH                CLERK              RESEARCH7499 ALLEN                SALESMAN           SALES7521 WARD                 SALESMAN           SALES7566 JONES                MANAGER            RESEARCH7654 MARTIN               SALESMAN           SALES7698 BLAKE                MANAGER            SALES7782 CLARK                MANAGER            ACCOUNTING7839 KING                 PRESIDENT          ACCOUNTING7844 TURNER               SALESMAN           SALES7900 JAMES                CLERK              SALES7902 FORD                 ANALYST            RESEARCH7934 MILLER               CLERK              ACCOUNTING8989 HELLO

这个查询语句实现了和上面查询语句等同的效果

实际上,在 select子句里面出现子查询的核心目的在于行列转换

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

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

相关文章

力扣 187. 重复的DNA序列

1.题目 DNA序列 由一系列核苷酸组成,缩写为 A, C, G 和 T.。 例如,"ACGAATTCCG" 是一个 DNA序列 。 在研究 DNA 时,识别 DNA 中的重复序列非常有用。 给定一个表示 DNA序列 的字符串 s ,返回所有在 DNA 分子中出现不止一…

【C++】类和对象(2)

目录 1. 初始化列表 2.explicit关键字 3. Static成员 3. 友元 3.1友元函数 3.2友元类 4. 内部类 5.匿名对象 1. 初始化列表 在创建对象时,编译器通过调用构造函数,给对象中各个成员变量一个合适的初始值,但是这个过程并不能称为对对…

YOLOv5算法进阶改进(16)— 更换Neck网络之GFPN(源自DAMO-YOLO)

前言:Hello大家好,我是小哥谈。GFPN(Global Feature Pyramid Network)是一种用于目标检测的神经网络架构,它是在Faster R-CNN的基础上进行改进的,旨在提高目标检测的性能和效果。其核心思想是引入全局特征金字塔,通过多尺度的特征融合来提取更丰富的语义信息。具体来说,…

Web前端3D JS框架和库 整理

在WebGL库和SVG/Canvas元素的支持下,JavaScript变得惊人的强大。几乎可以为网络构建任何东西,包括基于浏览器的游戏和本地应用,许多最新的突破性功能都在3D上运行。 为此,「数维图小编」整理了19个交互式3D Javascript库和框架&am…

HQYJ 2024-2-21 作业

复习课上内容(已完成)结构体字节对齐,64位没做完的做完,32位重新都做一遍,课上指定2字节对齐的做一遍,自己验证(已完成)两种验证大小端对齐的代码写一遍复习指针内容(已完…

MySQL数据库集群技术主从复制 一主一从详细讲解

集群技术 集群概述 MySQL复制技术 集群目的 负载均衡 解决高并发 高可用HA 服务可用性 远程灾备 数据有效性 类型 一主一从 一主双从 双主双从 原理 概念 在主库上把数据更改(DDL DML DCL)记录到二进制日志(Binary Log)中…

【ArcGIS】基于DEM/LUCC等数据统计得到各集水区流域特征

基于DEM/LUCC等数据统计得到各集水区流域特征 提取不同集水区各类土地利用类型比例步骤1:划分集水区为独立面单元步骤2:批量掩膜提取得到各集水区土地利用类型比例步骤3:导入各集水区LUCC数据并统计得到各类型占比 提取坡度特征流域面坡度河道…

【机器学习基础】正则化

🚀个人主页:为梦而生~ 关注我一起学习吧! 💡专栏:机器学习 欢迎订阅!后面的内容会越来越有意思~ ⭐特别提醒:针对机器学习,特别开始专栏:机器学习python实战 欢迎订阅&am…

linux系统git仓库

git仓库 获取 Git 仓库(初始化仓库)创建裸库创建本地库 获取 Git 仓库(初始化仓库) 创建裸库 git仓库服务器创建useradd git passwd git mkdir /git-root/ cd /git-root/git init --bare shell.git #制作裸库chown -R git:gi…

【MySQL面试复习】发现了某个SQL语句执行很慢,如何进行分析?

系列文章目录 在MySQL中,如何定位慢查询? 系列文章目录发现了某个SQL语句执行很慢,如何进行分析? 发现了某个SQL语句执行很慢,如何进行分析? 一般SQL语句执行过慢的话需要考虑是否是聚合查询和多表查询&a…

DevOps VS 敏捷的区别是什么?

原文链接:DevOps VS 敏捷_软件开发生产线 CodeArts_理论实践_DevOps概览 当我们面对敏捷和DevOps的时候,总会不可避免的思考下面这些问题: 敏捷是什么?DevOps是什么?两者有什么区别?持续集成不是XP里面的…

万界星空科技MES系统,实现数字化智能工厂

万界星空科技帮助制造型企业解决生产过程中遇到的生产过程不透明,防错成本高,追溯困难,品质不可控,人工效率低下,库存积压,交期延误等问题,从而达到“降本增效”的目标。打通各个信息孤岛&#…

动态规划3,地下城游戏

思路: 经验题目要求 a.以某个位置为结尾… dp[i][j]表示:走到【i,j】位置的时候,所需要的最初最低血量。 b.以某个位置为起点 dp[i][j]表示,从【i,j】出发,到达终点,所需要的最低初…

2024.2.21 模拟实现 RabbitMQ —— 实现转发规则

目录 需求分析 直接交换机(Direct ) 主题交换机(Topic ) 扇出交换机(Fanout ) Topic 交换机转发规则 routingKey 组成 bindingKey 组成 匹配规则 情况一 情况二 情况三 实现 Router 类 校验 b…

vue-nextTick(nextTick---入门到离职系列)

官方定义 在下次 DOM 更新循环结束之后执行延迟回调。在修改数据之后立即使用这个方法&#xff0c;获取更新后的 DOM。 个人理解 假设我们更改了某个 dom 元素内部的文本&#xff0c;而这时候我们想直接打印这个更改之后的文本是需要 dom 更新之后才会实现的。 小案例 <tem…

前端导出下载文件后提示无法打开文件

问题 项目中的导出文件功能&#xff0c;导出下载后的文件打开提示如下&#xff1a; 原因 对返回的响应数据进行打印&#xff0c;发现响应数据为字符串格式&#xff0c;前期规划的后端返回数据应该 blob 对象的。后经排查后发现是请求头缺少了响应数据格式的配置&#xff0c;应…

petalinux_zynq7 驱动DAC以及ADC模块之四:python实现http_api

前文&#xff1a; petalinux_zynq7 C语言驱动DAC以及ADC模块之一&#xff1a;建立IPhttps://blog.csdn.net/qq_27158179/article/details/136234296petalinux_zynq7 C语言驱动DAC以及ADC模块之二&#xff1a;petalinuxhttps://blog.csdn.net/qq_27158179/article/details/1362…

wpf 简单实验 数据更新 列表更新

1.概要 1.1 需求 一个列表提供添加修改删除的功能&#xff0c;添加和修改的内容都来自一个输入框 1.2 要点 DisplayMemberPath"Zhi"列表.ItemsSource datalist;(列表.SelectedItem ! null)(列表.SelectedItem as A).Zhi 内容.Text;datalist.Remove((列表.Selec…

紫外-可见吸收光谱法(UV-Vis)是最常用吸收光谱技术 市场持续扩大

紫外-可见吸收光谱法&#xff08;UV-Vis&#xff09;是最常用吸收光谱技术 市场持续扩大 紫外-可见吸收光谱法&#xff0c;也称为紫外-可见分光光度法&#xff0c;简称UV-Vis&#xff0c;利用样品分子在紫外和可见光激发下产生电子能级跃迁形成的吸收光谱&#xff0c;对元素进行…

JavaAPI常用类02

目录 基本数据类型封装类 包装类常用属性方法 8中基本数据类型各自所对应的包装类 以下方法以java.lang.Integer为例 代码 运行 装箱和拆箱 装箱 何为装箱 代码 范围问题 代码 运行 拆箱 代码 String类 概述 代码 运行 创建形式 画图讲解 代码 运行 构造…
推荐文章