MySQL基础练习题:习题2-3

news2024/11/28 6:49:09

这部分主要是为了帮助大家回忆回忆MySQL的基本语法,数据库来自于MySQL的官方简化版,题目也是网上非常流行的35题。这些基础习题基本可以涵盖面试中需要现场写SQL的问题。上期帮助大家建立数据库,导入数据,接下来让我们继续练习。

哪些人的薪水在部门平均薪水之上

分析一下

其实这道题和上一题非常像,只是从一个最高变成了平均,依旧是只需要emp一张表,然后join的时候要用>判断。

步骤一: 先求出每个部门的平均薪水

(root@localhost) [employees]>select deptno,avg(sal) from emp group by deptno;
+--------+-------------+
| deptno | avg(sal)    |
+--------+-------------+
|     20 | 2175.000000 |
|     30 | 1566.666667 |
|     10 | 2916.666667 |
+--------+-------------+
3 rows in set (0.26 sec)

(root@localhost) [employees]>

步骤二: 自己和自己join然后部门号相同,但是工资>平均工资

(root@localhost) [employees]>select a.deptno,a.ename,a.sal,b.avgsal from emp a join (select deptno,avg(sal) as avgsal from emp group by deptno) b on a.sal>b.avgsal and a.deptno=b.deptno;
+--------+-------+---------+-------------+
| deptno | ename | sal     | avgsal      |
+--------+-------+---------+-------------+
|     30 | ALLEN | 1600.00 | 1566.666667 |
|     20 | JONES | 2975.00 | 2175.000000 |
|     30 | BLAKE | 2850.00 | 1566.666667 |
|     20 | SCOTT | 3000.00 | 2175.000000 |
|     10 | KING  | 5000.00 | 2916.666667 |
|     20 | FORD  | 3000.00 | 2175.000000 |
+--------+-------+---------+-------------+
6 rows in set (0.01 sec)

(root@localhost) [employees]>

取得部门中所有人的平均的薪水等级

接下来就会复杂一些,我们看看两张表如何查询数据

分析一下

部门中这个好理解,就是同一部门的所有人,那什么是平均薪水等级?

就好比张三:1 然后李四:2,俩人一平均 1.5

那就好办了先计算每个人的薪水等级,然后根据部门分组,由于使用了分组函数,所以只能显示参加分组的字段和分组函数

步骤一: 计算每个人的薪水等级

(root@localhost) [employees]>select a.deptno,a.ename,a.sal,b.grade from emp a join salgrade b on a.sal between b.losal and b.hisal order by a.deptno;
+--------+--------+---------+-------+
| deptno | ename  | sal     | grade |
+--------+--------+---------+-------+
|     10 | CLARK  | 2450.00 |     4 |
|     10 | KING   | 5000.00 |     5 |
|     10 | MILLER | 1300.00 |     2 |
|     20 | SIMITH |  800.00 |     1 |
|     20 | JONES  | 2975.00 |     4 |
|     20 | SCOTT  | 3000.00 |     4 |
|     20 | ADAMS  | 1100.00 |     1 |
|     20 | FORD   | 3000.00 |     4 |
|     30 | ALLEN  | 1600.00 |     3 |
|     30 | WARD   | 1250.00 |     2 |
|     30 | MARTIN | 1250.00 |     2 |
|     30 | BLAKE  | 2850.00 |     4 |
|     30 | TURNER | 1500.00 |     3 |
|     30 | JAMES  |  950.00 |     1 |
+--------+--------+---------+-------+
14 rows in set (0.04 sec)

(root@localhost) [employees]>

我这里又按照部门编号升序排序。

步骤二,join,group再求均值


(root@localhost) [employees]>select a.deptno,avg(grade) as AvgSalGrade from emp a join salgrade b on a.sal between b.losal and b.hisal group by a.deptno;
+--------+-------------+
| deptno | AvgSalGrade |
+--------+-------------+
|     20 |      2.8000 |
|     30 |      2.5000 |
|     10 |      3.6667 |
+--------+-------------+
3 rows in set (0.04 sec)

(root@localhost) [employees]>

在这里插入图片描述

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

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

相关文章

51单片机入门_江协科技_17~18_OB记录的笔记

17. 定时器 17.1. 定时器介绍:51单片机的定时器属于单片机的内部资源,其电路的连接和运转均在单片机内部完成,无需占用CPU外围IO接口; 定时器作用: (1)用于计时系统,可实现软件计时&…

【LeetCode热题100】74. 搜索二维矩阵(二分)

一.题目要求 给你一个满足下述两条属性的 m x n 整数矩阵: 每行中的整数从左到右按非严格递增顺序排列。每行的第一个整数大于前一行的最后一个整数。 给你一个整数 target ,如果 target 在矩阵中,返回 true ;否则,…

GD32F470_US-016 模拟电压输出 双量程 模拟量 超声波测距模块 高精度

2.18 US-016电压式超声波测距传感器 US-016是市场上唯有的一款模拟量输出的超声波测距模块,输出的模拟电压和距离值成正比,可以方便的和其他系统相连,US-016工作稳定可靠。 US-016超声波测距模块可实现2cm~3m的非接触测距功能,供…

Android 9.0 framework层实现app默认全屏显示

1.前言 在9.0的系统rom产品定制化开发中,在对于第三方app全屏显示的功能需求开发中,需要默认app全屏显示,针对这一个要求,就需要在系统启动app 的过程中,在绘制app阶段就设置全屏属性,接下来就实现这个功能 效果图如下: 2.framework层实现app默认全屏显示的核心类 fram…

红黑树深度解析:RB-DELETE操作的理论与实践

红黑树深度解析:RB-DELETE操作的理论与实践 一、前言二、红黑树的核心性质三、RB-DELETE的过程四、RB-DELETE的实现细节五、RB-DELETE的复杂性分析六、维护红黑树性质的重要性七、代码示例7.1 伪代码7.2 C代码示例 八、结论 一、前言 在现代计算机科学中&#xff0…

备忘,LangChain建立本地知识库的几个要点

本地知识库可以解决本地资源与AI结合的问题,为下一步应用管理已有资产奠定基础。 本地知识库的建立可参考LangChain结合通义千问的自建知识库 (二)、(三)、(四) 本文主要记录两个方面的问题 1 搭…

抖音引流私域转化模式1.0现场视频,从抖音源源不断把人加到私域买单

抖音-引流私域转化模式1.0现场视频,从抖音源源不断把人加到私域,让加到私域的粉丝买单 课程内容:抖音引流私域转化模式1.0现场视频,从抖音源源不断把人加到私域买单 - 百创网-源码交易平台_网站源码_商城源码_小程序源码 01.第一…

武汉星起航:运营经验打造行业标杆,形成可持续稳健业务增长路径

在跨境电商的浪潮中,武汉星起航电子商务有限公司以其专注于提供一站式解决方案而在行业内崭露头角,成为创业者成功进入市场的得力伙伴。公司不仅仅是服务提供商,更是创业者的导航者,通过全方位的支持和专业指导,致力于…

javaWeb影视创作论坛的设计与实现

摘要 随着时代的发展,互联网的出现,给传统影视行业带来的最大便利就是,方便了影视从业人员以及爱好者的交流和互动,而为用户提供一个书写影评,阅读影评以及回复影评的平台,以影评为载体来使用户感受影评、…

android-自定义TextView在文字内容末尾添加图片icon、可以添加间距

样式示意图 自定义属性 style.xml <declare-styleable name"IconLabelTextView"><attr name"iconSrc" format"reference"/><attr name"iconPaddingStart" format"dimension"/><attr name"iconPad…

小红不想做模拟题 线段树

无脑线段树 #include<iostream> using namespace std; const int N 1e510; int a[N],b[N];struct Segment{int l,r;int s,s1,s2;int lz1,lz2; }tr[N<<2];void pushdown(int u){if(tr[u].lz1){tr[u<<1].lz1 tr[u<<1|1].lz1 1;tr[u].lz1 0;tr[u<&…

2024/4/1—力扣—两数相除

代码实现&#xff1a; 思路&#xff1a;用减法模拟除法 // 用减法模拟除法 int func(int a, int b) { // a、b均为负数int ans 0;while (a < b) { // a的绝对值大于等于b&#xff0c;表示此时a够减int t b;int count 1; // 用来计数被减的次数// t > INT_MIN / 2:防止…

ArcGISPro 如何升级某项Python库且不影响其运行

升级包scipy 可以看出scipy当前版本是1.6.2 利用不依赖包升级 pip install --upgrade scipy --no-deps 结果 但是显示还是之前的版本

使用高德微信小程序插件实现精准获取打卡位置

由于微信小程序的 getFuzzyLocation 误差太大 不得不改用高德微信sdk 使用方法&#xff1a; 一、下载 sdk 相关下载-微信小程序插件 | 高德地图API 二、引入 sdk //引入 var amapFile require(../../libs/amap-wx.js); Page({onLoad: function() {var that this;va…

go的orm框架-Gorm

官网文档 特点 全功能 ORM 关联 (拥有一个&#xff0c;拥有多个&#xff0c;属于&#xff0c;多对多&#xff0c;多态&#xff0c;单表继承) Create&#xff0c;Save&#xff0c;Update&#xff0c;Delete&#xff0c;Find 中钩子方法 支持 Preload、Joins 的预加载 事务&…

Vue.js【组件基础(上)】

选项式API和组合式API 选项式API 选项式API是一种通过包含多个选项的对象来描述组件逻辑的API&#xff0c;其常用的选项包括data、methods、computed、watch等。 组合式API 相比于选项式API&#xff0c;组合式API是将组件中的数据、方法、计算属性、侦听器等代码全部组合在…

sigmoid函数实例

sigmoid实例案例&#xff1a;&#xff08;sigmoid作用就是把传统线性回归中的z 投射到分类问题&#xff08;0&#xff0c;1&#xff09;的概率中&#xff09; 交叉熵损失函数扩充解释&#xff1a; 为什么二分类和多分类的不一样 因为在二分类问题中 每个样本得值是0或1 一组数据…

使用spring模拟转账,并实现异常事务回滚

1、数据库准备 使用配置类配置数据源、模板、事务回滚 package cn.edu.aaa.utils;import java.beans.PropertyVetoException;import javax.sql.DataSource;import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotati…

iterrows方法使dataframe显示完整

这样一个excel文件&#xff0c;由于行数太多显示不全。 直接读取显示&#xff1a; 该如何处理&#xff1f;方法有很多&#xff0c;这次讲解用dataframe.iterrows()方法。 DataFrame.iterrows()方法&#xff1a; 返回值是一个由索引和Series组成的元组。 关于这个方法的两个注…

程序汪10万接的多平台视频分发项目,模拟人工发视频

本项目来自程序汪背后的私活小团队&#xff0c;开发了一个多平台分发视频项目&#xff0c;给粉丝分享一下解决方案和具体项目分开情况付款情况等等细节&#xff0c;希望给想接私活的朋友一些经验参考 程序汪10万接的多平台视频分发项目&#xff0c;模拟人工发视频 视频版本 在 …