在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…

架构面试题汇总:缓存(二)

目录 1. 问题:什么是缓存,以及为什么我们需要缓存?2. 问题:你能解释一下缓存击穿、缓存雪崩和缓存预热是什么吗?3. 问题:如何在Java中实现缓存?4. 问题:你如何决定哪些数据应该被缓存…

[hive] 本地xlsx 导入到hive

要将一个 xlsx 文件中的数据导入到 Hive 表中,可以通过以下步骤来实现: 首先,将 xlsx 文件中的数据导出为 CSV 格式,这样更方便后续处理。可以使用 Excel 软件将 xlsx 文件另存为 CSV 格式。 在 Hive 中创建一个新表,…

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

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

目标检测YOLO实战应用案例100讲-【目标检测】基于深度学习的手部增强现实技术(续)

目录 2.2.3相机畸变矫正原理 3 自上而下的多目标姿态估计神经网络 3.1基于Yolo X的手掌检测

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

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

Linux多进程与信号

在多进程的服务程序中&#xff0c;如果子进程收到退出信号&#xff0c;子进程自行退出。如果父进程收到退出信号&#xff0c;应该先向全部的子进程发送退出信号&#xff0c;然后自己再退出。 演示demo程序 #include <iostream> // 包含输入输出流库&#xff0c;用于输…

用 React 实现搜索 GitHub 用户功能

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

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

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

如何开始破解基于 Django 的应用程序

Django 是一个基于Python 的Web 框架。在这篇文章中,我将教你如何分析基于 django 的应用程序。在这篇文章中,我将使用 wagtail 作为示例。对我来说,在进行静态代码分析时,最重要的部分是确定如何注册和处理路由,这就是我们将在本文中介绍的内容。 在我们开始之前,我建议…

各平台,各语言基础数据类型占用字节比较

以下是在不同系统平台和编程语言中常见数据类型的字节数比较的整合表格。需要注意的是&#xff0c;这里列出的是通常情况下的数据类型大小&#xff0c;具体实现可能会有所不同。另外&#xff0c;对于Python和Golang而言&#xff0c;由于它们是解释型语言和编译型语言&#xff0…

springboot/ssm高校宣讲会管理系统Java企业招聘宣讲系统web

演示视频&#xff1a;https://www.bilibili.com/video/BV1vz421R7cg/、 基于springboot(可改ssm)vue项目 开发语言&#xff1a;Java 框架&#xff1a;springboot/可改ssm vue JDK版本&#xff1a;JDK1.8&#xff08;或11&#xff09; 服务器&#xff1a;tomcat 数据库&am…

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

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