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

目录

在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.mzph.cn/news/704981.shtml

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

相关文章

销售线索获取 如何查找更多的销售线索平台

在进行销售工作时,寻找潜在客户和销售线索是非常重要的。只有及时地发现客户的需求和问题,才能更好地进行销售和提供服务。然而,在如今的市场环境中,客户的信息被广泛地分散在各个渠道和媒介上,如果仅靠人工搜索和整理…

如何优化Node.js应用的性能

随着Node.js在Web开发领域的广泛应用,越来越多的开发者开始关注如何优化Node.js应用的性能。优化Node.js应用的性能可以提升应用的响应速度,降低资源消耗,提升用户体验。在本文中,我们将探讨一些优化Node.js应用性能的方法和技巧。…

Nginx重写功能和反向代理

目录 一、重写功能rewrite 1. ngx_http_rewrite_module模块指令 1.1 if 指令 1.2 return 指令 1.3 set 指令 1.4 break 指令 2. rewrite 指令 3. 防盗链 3.1 实现盗链 3.2 实现防盗链 4. 实用网址 二、反向代理 1. 概述 2. 相关概念 3. 反向代理模块 4. 参数配置…

亿道丨三防平板丨如何从多方面选择合适的三防加固平板?

在如今这个信息爆炸的时代,移动设备已经成为我们生活和工作的必备工具。然而,在一些特殊的场合中,普通的平板电脑可能无法满足需求,比如工厂车间、野外作业、极端天气等环境下。此时,三防平板就成了不二之选。那么&…

SpringCloud-Docker安装与详解

Docker 是一款强大的容器化平台,通过其轻量级的容器技术,使应用程序的开发、部署和管理变得更加便捷和高效。本文将深入探讨 Docker 的安装过程,并详细解析其基本概念、组件及常用命令,以帮助读者充分理解和熟练使用 Docker。企业…

mac安装zookeeper

下载地址: http://archive.apache.org/dist/zookeeper/ 注意:由于Zookeeper从3.5.5版本开始,带有bin名称的包才是我们想要的下载可以直接使用的里面有编译后的二进制的包,而之前的普通的tar.gz的包里面是只是源码的包无法直接使…

Laravel04 eloquent

eloquent 1. eloquent2. 创建eloquent model 以及 取数据 1. eloquent 文档地址: https://learnku.com/docs/laravel/8.x/eloquent/9406 下面是我们,通过laravel的DB类从数据库中获取了post记录,那么有没有可能我们直接获取一个post对象&am…

Ps:索引颜色模式

Ps菜单:图像/模式/索引颜色 Image/Mode/Indexed Color 索引颜色 Indexed Color模式可生成最多 256 种颜色的 8 位图像文件。 这种颜色的限制使得索引颜色模式的图像文件相比于全彩图像(如 RGB 颜色模式下的图像)具有更小的文件大小&#xff0…

使用mumu模拟器开启调试安卓pwa程序环境,配置谷歌环境,并增加pwa安卓/苹果/PC电脑安装流程

环境配置 当你想开发pwa程序时,手上没有安卓手机怎么办?使用mumu安卓模拟器也是可以的,使用安卓模拟器后,可能自带的浏览器不支持pwa,还需要安装chrom浏览器,当你安装好chrom浏览器后,打开又提…

利用项目管理软件规划的成功之路

项目开发对于任何类型的项目都是一个有用的过程。软件开发项目、建筑项目、运输项目和变更管理项目都可以从这种方法提供的结构、指导和策略中获益。 项目开发涉及规划项目时间表、投资资源以及安排团队成员的时间。与项目管理一样,项目开发贯穿项目始终&#xff0…

用 React 实现搜索 GitHub 用户功能

用 React 实现搜索 GitHub 用户功能 在本篇博客中,我们将介绍如何在 React 应用中搜索 GitHub 用户并显示他们的信息。 创建 React 应用 首先,我们使用 Create React App 创建一个新的 React 应用。Create React App 是一个快速搭建 React 项目的工具…

MATLAB练习题:并行计算的parfor循环

​讲解视频:可以在bilibili搜索《MATLAB教程新手入门篇——数学建模清风主讲》。​ MATLAB教程新手入门篇(数学建模清风主讲,适合零基础同学观看)_哔哩哔哩_bilibili 在MATLAB中,parfor(Parallel for&…

30-k8s集群的七层代理-ingress资源(进阶知识)

一、ingress概述 1,引发问题 目前使用svc资源做网络暴露,使用nodeport类型,一个业务对应一个宿主机端口,那么如果业务多了,所占用的宿主机端口也就多了,虽然说宿主机端口一般情况下都是够用的,…

python自动化管理和zabbix监控网络设备(有线网络和路由配置部分)

目录 目录 一、拓扑图 二、core-sw1 三、core-sw2 四、sum-sw1 五、sum-sw2 六、FW1 七、DMZ-SW1 结语 一、拓扑图 二、core-sw1 sys sysname core-sw1 vlan batch 10 20 30 40 50 60 100 vlan batch 200 210 220 230 240 250 stp region-configuration region-name…

【Java设计模式】一、工厂模式、建造者模式、原型设计模式

文章目录 1、简单工厂模式2、工厂方法模式3、抽象工厂模式4、建造者模式5、原型设计模式 设计模式即总结出来的一些最佳实现。23种设计模式可分为三大类: 创建型模式:隐藏了创建对象的过程,通过逻辑方法进行创建对象,而不是直接n…

贝叶斯核机器回归拓展R包:bkmrhat

1.摘要 bkmrhat包是用于扩展bkmr包的贝叶斯核机器回归(Bayesian Kernel Machine Regression, BKMR)分析工具,支持多链推断和诊断。该包利用future, rstan, 和coda包的功能,提供了在贝叶斯半参数广义线性模型下进行identity链接和 …

CUDA编程 - 用向量化访存优化 - Cuda elementwise - Add(逐点相加)- 学习记录

Cuda elementwise - Add 一、简介1.1、ElementWise Add1.2、 float4 - 向量化访存 二、实践2.1、如何使用向量化访存2.1、简单的逐点相加核函数2.2、ElementWise Add float4(向量化访存)2.3、完整代码 一、简介 1.1、ElementWise Add Element-wise 操作…

替代 Intercom 和 Zendesk: 开源的客户互动套件 | 开源日报 No.183

chatwoot/chatwoot Stars: 17.8k License: NOASSERTION chatwoot 是一个开源的客户互动套件,是 Intercom、Zendesk、Salesforce Service Cloud 等的替代品。 该项目主要功能、关键特性和核心优势包括: 支持多种对话渠道,如网站、Facebook、…

2024022601-数据库语言SQL

数据库语言SQL SQL的发展 1974年,由Boyce和Chamberlin提出 1975~1979,IBM San Jose Research Lab的关系数据库管理系统原型System R实施了这种语言 SQL-86是第一个SQL标准 SQL-89、SQL-92(SQL2)、SQL-99(SQL3) 非过程化语言 SQL语言进行数据库操作…

【 C++ 】闭散列哈希表的模拟实现

哈希节点状态 我们都很清楚数组里的每一个值无非三种状态: 如果某下标没有值,则代表空EMPTY。如果有值在代表存在EXIST。如果此位置的值被删掉了,则表示为DELETE。 而这三种状态我们可以借助enum枚举来帮助我们表示数组里每个位置的状态。…