关于子查询

news2024/11/20 11:48:25

1、什么是子查询:

                select语句中嵌套select语句,被嵌套的select语句称为子查询。

2、子查询都可以出现在什么地方:

            select

                      ..(select)        #子查询可以出在select后面

            from

                     ..(select)        #子查询可以出在from后面

            where

                      ..(select)        #子查询可以出在where后面

            group by

                      ...

            having

                      ..(select)          #子查询可以出在having后面

            order by

                     ...

            limit

                      …

3、where子句中的子查询:(子查询可以出现在where后面)

         案例:

                需求:找出比平均薪资高的员工姓名及工资

                分析:select ename,sal from emp where agv(sal);  #这种写法是错误的,因为分组函数不能出现在where后面

                上面的写法不行,我们尝试分步完成任务

                第一步:查询平均薪资

                select avg(sal) from emp;

                         

                第二步:根据上一步的查询结果进行条件过滤

                select ename,sal from emp where sal > 2073.214286;

                                 

                思考:能不能把上面两步合并呢?(答:能 。合并后就是我们所说的子查询

                select ename,sal from emp where sal > (select avg(sal) from emp);

                         

4、from子句中的子查询:(子查询可以出现在from子句中)

        案例:找出每个部门平均薪水的等级。

                第一步:查出每个部门的平均薪资

                select deptno,avg(sal) avgsal from emp group by deptno;

                         

                第二步:以上一步的查询结果作为临时表t与表salgrade as s进行连接查询,就可以得到想要的结果。

                select

                        t.deptno,t.avgsal,s.grade

                from

                        (select deptno,avg(sal) avgsal from emp group by deptno) t

                join

                        salgrade s

                on

                        t.avgsal between losal and hisal;

                        

5、select 后面出现的子查询(了解内容,我们知道这里允许出现子查询就可以了,这样的方式使用不多)

6、having子句中的子查询(子查询可以出现在having子句中)

        案例:查询部门平均工资高于公司平均工资的部门

                select

                        deptno,avg(sal)

                from

                        emp

                group by

                        deptno

                having

                        avg(sal) > (select avg(sal) from emp);

                                

 

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

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

相关文章

操作系统考研复习(详细指导)--持续更新中

第一章操作系统的概念(定义)功能和目标操作系统的概念(定义)--什么是操作系统操作系统是指控制和管理整个计算机系统的硬件和软件资源(操作系统是系统资源的管理者),并合理地组织调度计算机的工作和资源的分配;以提供给用户和其他软件方便的接口和环境 &…

【Rtklib入门指南】1. Rtklib下载及编译

写在前面其实前几年还在校的时候出过一个还不太成熟的教程,回头看的时候发现有诸多不够成熟的地方,如今的工作自由时间相对较多,因此萌生了重新梳理,提升博客质量的想法。因此,就有了这个新的系列。对于大多数GNSS的从…

JMeter - 下载安装教程

目录1. JMeter介绍2. JMeter下载3. JMeter目录解析4. Windows和macOS下安装启动5. JMeter切换语言为中文6. Linux下安装启动1. JMeter介绍 JMeter是目前行业内用的比较多的一个开源性能测试工具,由Java语言编写,要依赖Java环境来运行(需要提…

vtk.js中引入.module.css文件

我们知道css modules指的是所有的类名和动画名称默认都有各自作用域的CSS文件,是在构建步骤中对CSS类名和选择器限定作用域的一种方式(类似于命名空间)。通过CSS Modules可以保证单个组件的所有样式集中在同一个地方、只应用于该组件。它可以…

React记录

UI组件库:https://mobile.ant.design/zh/ 1、‘idname’ is not defined no-undef 情景:给属性绑定属性值时,明明设置了变量,使用语法也没有错误,但是提示却说是该变量未定义。 原因:变量的值不是字符串类…

SpringCloud学习笔记 - 服务熔断降级 - Sentinel

1. sentinel简介 sentinel官方文档:https://sentinelguard.io/zh-cn/docs/introduction.html 随着微服务的流行,服务和服务之间的稳定性变得越来越重要。Sentinel 是面向分布式、多语言异构化服务架构的流量治理组件,主要以流量为切入点&…

【Redis】缓存击穿问题及其解决方案

【Redis】缓存击穿问题及其解决方案 文章目录【Redis】缓存击穿问题及其解决方案1. 缓存击穿概念2. 解决方案2.1 互斥锁2.1.1 互斥锁的优缺点2.1.2 互斥锁的代码实现2.2 逻辑过期2.2.1 逻辑过期的优缺点2.2.2 逻辑过期的代码实现1. 缓存击穿概念 缓存击穿:缓存击穿…

13个有趣的Python高级脚本,建议收藏

上一篇文章:整理了上千个 Python 工具库,涵盖24个大方向 没想到火了,喜欢除了收藏外,记得点赞。 每天我们都会面临许多需要高级编码的编程挑战。你不能用简单的 Python 基本语法来解决这些问题。 在本文中,我将分享…

Python针对列表进行去重、排序、大小写转换

首先我们要进行的就是列表去重 Python针对列表进行去重、排序、大小写转换1. 针对列表进行去重第一种方法是用for循环第二种方法就是列式推导法第三种方法就是set第四种方法就是用字典去重2.进行大小写转换大写转小写使用lower进行小写转换列式推导法swapcase()将字符串内的大写…

【windows环境使用gcc完美编译C/C++】

windows环境使用gcc完美编译C/C前言安装最新版的msys2安装mingw版的gcc前言 在windows使用gcc编译c,很多文章会使用Cygwin或者msys来安装gcc,并编译本地c,但编译好的.exe执行文件在其他电脑上会报找不到cygwin1.dll或找不到msys-2.0.dll的错误…

基于JavaSpringboot+vue国风汉服文化交流宣传系统

博主介绍:✌全网粉丝20W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末底部获取联系🍅 精彩专栏推荐订阅收藏👇…

ArcgisPro3.0及3.0.1及3.0.2安装教程

一、获取: https://www.xsoftnet.com/share/a0XohtwU8Zz.html二、产品介绍:ArcgisPro3.0-3.0.1中文安装包下载及安装教程 ArcGisPro3.x安装教程 一、安装包结构介绍:可能你下载的安装包目录结构有所不同但是核心文件是一样的。 安装顺序&…

【SpringCloud07】SpringCloud 整合Zookeeper注册中心

1.Zookeeper注册中心 zookeeper是一个分布式协调工具&#xff0c;可以实现注册中心功能关闭Linux服务器防火墙启动zookeeper服务器zookeeper服务器取代Eureka服务器&#xff0c;zookeeper作为服务注册中心 2.服务提供者 1.新建cloud-provider-payment8004 2.POM <?xm…

(小甲鱼python)函数笔记合集二 函数(II)总结 函数的几种参数 位置参数、关键字参数、默认参数 .join()函数的用法等

一、基础复习 函数的基本用法 创建和调用函数 函数的形参与实参等等 二、函数的几种参数 1.位置参数 一般情况下实参是按照形参定义的顺序进行传递的&#xff0c;而Python中位置固定的参数我们称为位置参数。 >>> def myfunc(s,vt,o):return "".join((o…

低成本MEMS INS系统 + GNSS组合导航MATLAB仿真

感谢西工大严老师的无私奉献&#xff01;&#xff01; 低成本MEMS INS系统 GNSS组合导航MATLAB仿真感谢西工大严老师的无私奉献&#xff01;&#xff01;一、kalman参数初始化——kfinit()二、imu添加误差——imusdderr()三、imu位姿更新——insupdate()四、kalman误差方程——…

【1】K8s的组件及概念

目录 1、K8s的组件 2、组件概念 1、K8s的组件 一个kubernetes集群主要是由控制节点(master)、工作节点(node)构成&#xff0c;每个节点上都会安装不同的组件。 master: 集群的控制平面&#xff0c;负责集群的决策 ApiServer:资源操作的唯一入口&#xff0c;接收用户输入的命令…

ArcGIS基础实验操作100例--实验92以图形与表格构建趋势面

本实验专栏参考自汤国安教授《地理信息系统基础实验操作100例》一书 实验平台&#xff1a;ArcGIS 10.6 实验数据&#xff1a;请访问实验1&#xff08;传送门&#xff09; 空间分析篇--实验92 以图形与表格构建趋势面 目录 一、实验背景 二、实验数据 三、实验步骤 &#xf…

ts实现简易观察者模式

什么是观察者模式 观察者模式能让你时刻知悉对象状态的变化的一种设计模式,是一种一对多依赖的关系,比如报纸的订阅 生活中随处可见的观察者模式(猎头与求职者): headfirst设计模式气象站案例 通知更新的方式有两种: 主题推给观察者和观察者自己去主题拉取两种方式,大部分实现…

年中盘点 | 2022年,PaaS 再升级

过去十五年&#xff0c;是云计算从无到有突飞猛进的十五年。PaaS 作为云计算的重要组成部分&#xff0c;在伴随着云计算高速发展的同时&#xff0c;在云计算产业链中的关键性作用日渐凸显。关于 PaaS&#xff0c;很多人都认同一个观点&#xff0c;在公有云上&#xff0c;除了 I…

【寒假每日一题】AcWing 4699. 如此编码

目录 一、题目 1、原题链接 2、题目描述 二、解题报告 1、思路分析 2、时间复杂度 3、代码详解 一、题目 1、原题链接 4699. 如此编码 - AcWing题库 2、题目描述 某次测验后&#xff0c;顿顿老师在黑板上留下了一串数字 23333便飘然而去。 凝望着这个神秘数字&#xff…