作 业

1. 查出至少有一个员工的部门。显示部门编号、部门名称、部门位置、部门人数。


mysql> SELECT d.deptno AS 部门编号, d.dname as 部门名称, d.loc as 部门位置, COUNT(e.empno) as 部门人数 FROM dept d
JOIN employee e ON d.deptno = e.deptno
GROUP BY d.deptno, d.dname, d.loc;

+----------+----------+----------+----------+
| 部门编号 | 部门名称 | 部门位置 | 部门人数 |
+----------+----------+----------+----------+
|       10 | 教研部   | 北京     |        3 |
|       20 | 学工部   | 上海     |        5 |
|       30 | 销售部   | 广州     |        6 |
|       50 | 保洁部   | 武汉     |        1 |
+----------+----------+----------+----------+
4 rows in set

2. 列出所有员工的姓名及其直接上级的姓名。


mysql> SELECT e1.ename AS 员工姓名, e2.ename AS 上级姓名
FROM employee e1
LEFT JOIN employee e2 ON e1.mgr = e2.empno;

+----------+----------+
| 员工姓名 | 上级姓名 |
+----------+----------+
| 甘宁     | 庞统     |
| 黛琦丝   | 关羽     |
| 殷天正   | 关羽     |
| 刘备     | 曾阿牛   |
| 谢逊     | 关羽     |
| 关羽     | 曾阿牛   |
| 张飞     | 曾阿牛   |
| 诸葛亮   | 刘备     |
| 曾阿牛   | NULL     |
| 韦一笑   | 关羽     |
| 周泰     | 诸葛亮   |
| 程普     | 关羽     |
| 庞统     | 刘备     |
| 黄盖     | 张飞     |
| 张三     | 甘宁     |
+----------+----------+
15 rows in set


3. 列出受雇日期早于直接上级的所有员工的编号、姓名、部门名称。


mysql> SELECT e1.empno as 员工编号, e1.ename as 员工姓名, d.dname as 部门名称 
FROM employee e1
JOIN employee e2 ON e1.mgr = e2.empno
JOIN dept d ON e1.deptno = d.deptno
WHERE e1.hiredate < e2.hiredate;

+----------+----------+----------+
| 员工编号 | 员工姓名 | 部门名称 |
+----------+----------+----------+
|     1007 | 张飞     | 教研部   |
|     1001 | 甘宁     | 学工部   |
|     1004 | 刘备     | 学工部   |
|     1002 | 黛琦丝   | 销售部   |
|     1003 | 殷天正   | 销售部   |
|     1006 | 关羽     | 销售部   |
+----------+----------+----------+
6 rows in set


4. 列出部门名称和这些部门的员工信息,同时列出那些没有员工的部门。


mysql> SELECT d.dname, e.empno, e.ename
FROM dept d
LEFT JOIN employee e ON d.deptno = e.deptno;

+--------+-------+--------+
| dname  | empno | ename  |
+--------+-------+--------+
| 教研部 |  1007 | 张飞   |
| 教研部 |  1009 | 曾阿牛 |
| 教研部 |  1014 | 黄盖   |
| 学工部 |  1001 | 甘宁   |
| 学工部 |  1004 | 刘备   |
| 学工部 |  1008 | 诸葛亮 |
| 学工部 |  1011 | 周泰   |
| 学工部 |  1013 | 庞统   |
| 销售部 |  1002 | 黛琦丝 |
| 销售部 |  1003 | 殷天正 |
| 销售部 |  1005 | 谢逊   |
| 销售部 |  1006 | 关羽   |
| 销售部 |  1010 | 韦一笑 |
| 销售部 |  1012 | 程普   |
| 财务部 | NULL  | NULL   |
| 保洁部 |  1015 | 张三   |
+--------+-------+--------+
16 rows in set


5. 列出最低薪金大于15000的各种工作及从事此工作的员工人数。


mysql> SELECT job, COUNT(*) AS 员工人数
FROM employee
WHERE job IN (SELECT DISTINCT job FROM employee WHERE sal > 15000)
GROUP BY job;

+--------+----------+
| job    | 员工人数 |
+--------+----------+
| 销售员 |        4 |
| 经理   |        3 |
| 分析师 |        2 |
| 董事长 |        1 |
| 保洁员 |        1 |
+--------+----------+
5 rows in set


6. 列出在销售部工作的员工的姓名,假定不知道销售部的部门编号。


mysql> SELECT ename
FROM employee
WHERE deptno = (SELECT deptno FROM dept WHERE dname = '销售部');

+--------+
| ename  |
+--------+
| 黛琦丝 |
| 殷天正 |
| 谢逊   |
| 关羽   |
| 韦一笑 |
| 程普   |
+--------+
6 rows in set


7. 列出薪金高于公司平均薪金的所有员工信息,所在部门名称,上级领导,工资等级。


mysql> SELECT e.ename, e.job, e.sal, e.mgr, e2.ename AS 上级领导,d.dname
FROM employee e
JOIN dept d ON e.deptno = d.deptno
JoIN employee e2 oN e.mgr = e2 .empno
JOIN (
  SELECT AVG(sal) AS average_salary
  FROM employee
) AS a ON e.sal > a.average_salary;
+--------+--------+-------+------+----------+--------+
| ename  | job    | sal   | mgr  | 上级领导 | dname  |
+--------+--------+-------+------+----------+--------+
| 刘备   | 经理   | 29750 | 1009 | 曾阿牛   | 学工部 |
| 关羽   | 经理   | 28500 | 1009 | 曾阿牛   | 销售部 |
| 诸葛亮 | 分析师 | 30000 | 1004 | 刘备     | 学工部 |
| 庞统   | 分析师 | 30000 | 1004 | 刘备     | 学工部 |
| 张三   | 保洁员 | 80000 | 1001 | 甘宁     | 保洁部 |
+--------+--------+-------+------+----------+--------+
5 rows in set

8.列出与庞统从事相同工作的所有员工及部门名称。


mysql> SELECT e.ename, d.dname AS 部门名称
FROM employee e
JOIN dept d ON e.deptno = d.deptno
WHERE e.job = (SELECT job FROM employee
WHERE ename = '庞统');
+--------+----------+
| ename  | 部门名称 |
+--------+----------+
| 诸葛亮 | 学工部   |
| 庞统   | 学工部   |
+--------+----------+
2 rows in set
9.列出薪金高于部门30工作的所有员工的薪金的员工姓名和薪金、部门名称。
mysql> SELECT e.ename, e.sal, d.dname
FROM employee e
JOIN dept d ON e.deptno = d.deptno
WHERE e.sal > (
  SELECT MAX(sal)
  FROM employee
  WHERE deptno = 30
);
+--------+-------+--------+
| ename  | sal   | dname  |
+--------+-------+--------+
| 刘备   | 29750 | 学工部 |
| 诸葛亮 | 30000 | 学工部 |
| 曾阿牛 | 50000 | 教研部 |
| 庞统   | 30000 | 学工部 |
| 张三   | 80000 | 保洁部 |
+--------+-------+--------+
5 rows in set

10.查出年份、利润、年度增长比。


mysql> SELECT year,zz, 
(zz - LAG(zz, 1, 0) OVER (ORDER BY year)) / LAG(zz, 1, 0) OVER (ORDER BY year) AS 年度增长比 
FROM lirun;

+------+------+------------+
| year | zz   | 年度增长比 |
+------+------+------------+
| 2010 |  100 | NULL       |
| 2011 |  150 | 0.5000     |
| 2012 |  250 | 0.6667     |
| 2013 |  800 | 2.2000     |
| 2014 | 1000 | 0.2500     |
+------+------+------------+
5 rows in set

详情在:作业. · 8239ace · WL—code/WL仓库 - Gitee.com

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

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

相关文章

LeetCode 1657. 确定两个字符串是否接近:思维题

【LetMeFly】1657.确定两个字符串是否接近&#xff1a;思维题 力扣题目链接&#xff1a;https://leetcode.cn/problems/determine-if-two-strings-are-close/ 如果可以使用以下操作从一个字符串得到另一个字符串&#xff0c;则认为两个字符串 接近 &#xff1a; 操作 1&…

nvm 下载node时候下载不到npm包的解决方法

个人博客链接 公众号-nvm 下载node时候下载不到npm包的解决方法 求关注 可以跳过的背景 最近项目比较有空&#xff0c;所以就可以有时间写一些demo&#xff0c;主要测试下react的一些语法&#xff0c;毕竟自己上次写react已经是22年的7月份了,期间对于react-router等的hook…

Java中的Integer.bitCount浅析

文章目录 Java中的Integer.bitCount浅析问题思考Integer.bitCount解释拓展 Java中的Integer.bitCount浅析 原文链接 问题 有一个整数x,我们需要统计该整数的二进制表示中包含的1的个数。这个也被称为汉明重量&#xff08;Hamming weight&#xff09;。 例如&#xff0c;整数…

000 - 前言

目录 问题1&#xff1a;学Qt之前是不是得先把C基础打好才行&#xff1f;会一点点C可以学吗&#xff1f; 问题2&#xff1a;我已经会 PyQt 了&#xff0c;还有必要再学 Qt 吗&#xff1f; 问题3&#xff1a;Qt 和 QML 学哪个比较好呢&#xff1f; 大家好呀~ 我是角角。从今天…

创建JDK8版本的SpringBoot项目的方法

目录 一.通过阿里云下载 二.通过IDEA创建 1.下载安装JDK17 2.创建SpringBoot 3.X的项目 3.把JDK17改成JDK8 截止到2023.11.24&#xff0c;SpringBoot不再支持3.0X之前的版本&#xff0c;3.0X之后的版本所对应的JDK版本为JDK17&#xff0c;下面介绍如何在idea上继续使用JDK…

解析javascript数组方法 find 和 filter 有何区别

首先用一个案例可以很直观的看到 find 和 filter 的区别&#xff1b; 相同点&#xff1a; 两者分别可以接受三个参数&#xff1a;当前元素、当前索引、整个数组&#xff1b;两者都可以用来查找数组中符合条件的元素&#xff1b; 不同点&#xff1a; find&#xff1a; 用于查…

YOLOv8+Nanodet强强联合改进标签分配:使用NanoDet动态标签分配策略,同时集成VFL全新损失,来打造新颖YOLOv8检测器

💡本篇内容:YOLOv8+Nanodet强强联合改进标签分配:使用NanoDet动态标签分配策略,同时集成VFL全新损失,来打造新颖YOLOv8检测器 💡🚀🚀🚀本博客 YOLO系列 + 改进NanoDet模型的动态标签分配策略源代码改进 💡一篇博客集成多种创新点改进:VFL损失函数 + Nanodet…

C/C++不定参数的使用

文章目录 C语言的不定参C的不定参 C语言的不定参 C语言的不定参数最常见的应用示例就是printf函数&#xff0c;如下&#xff0c;参数列表中的...表示不定参数列表 #include <stdio.h> int printf(const char *format, ...);试着模拟实现C语言的printf函数 void myprin…

Android:BackStackRecord

BackStackRecord:fragment回退栈,继承自FragmentTransaction,并且实现了OpGenerator接口,OpGenerator接口用来添加或弹出事务的,后面会提到。 从《Android:从源码看FragmentManager如何工作》文章知道,每次beginTransaction会创建一个BackStackRecord对象,改对象持有f…

C++基础——文件操作

文章目录 1 概述2 文本文件2.1 写文件2.1.1 写文件流程2.1.2 文件打开方式 2.2 读文件 3 二进制文件3.1 写文件3.2 读文件 1 概述 程序最基本的操作之一就是文件操作&#xff0c;程序运行时的数据都是临时数据&#xff0c;当程序结束后就不复存在了。通常都是通过文件或其他持…

【vue实战项目】通用管理系统:信息列表,信息录入

本文为博主的vue实战小项目系列中的第六篇&#xff0c;很适合后端或者才入门的小伙伴看&#xff0c;一个前端项目从0到1的保姆级教学。前面的内容&#xff1a; 【vue实战项目】通用管理系统&#xff1a;登录页-CSDN博客 【vue实战项目】通用管理系统&#xff1a;封装token操作…

深入理解HTTP协议

一、简介 超文本传输协议&#xff08;英文&#xff1a;HyperText Transfer Protocol&#xff0c;缩写&#xff1a;HTTP&#xff09;是一种用于分布式、协作式和超媒体信息系统的应用层协议。HTTP是万维网的数据通信的基础。 二、协议概述 HTTP是一个客户端终端&#xff08;用…

栈模拟先序后序中序遍历(非递归遍历)

先序遍历&#xff1a; vector<int> preorderTraversal(TreeNode* u) {stack<TreeNode*>stk;vector<int>res;if(unullptr) return res;while(stk.size()||u){if(u){res.push_back(u->val);//遍历当前结点stk.push(u);//记录当前递归层uu->left;//遍历左…

显示Excel功能区或工具栏的方法不少,其中快捷方式最快

Microsoft Excel是Office套件中最复杂的工具之一&#xff0c;它提供了大量功能&#xff0c;其中大部分都是使用工具栏操作的。缺少工具栏使Excel很难完成工作。 如果Excel中没有这些关键元素&#xff0c;你将无法快速完成工作&#xff0c;因此&#xff0c;可以理解的是&#x…

处理机调度与作业调度

处理机调度 一个批处理型作业&#xff0c;从进入系统并驻留在外存的后备队列上开始&#xff0c;直至作业运行完毕&#xff0c;可能要经历如下的三级调度 高级调度 也称为作业调度、长程调度、接纳调度。调度对象是作业 主要功能&#xff1a; 挑选若干作业进入内存 为作业创建…

flutter Running Gradle task ‘assembleDebug‘

flutter Running Gradle task assembleDebug Running Gradle task assembleDebug新问题描述新问题解决方案Running Gradle task ‘assembleDebug’ 用Android Stduio创建Flutter项目的时候,会出现各种问题,踩了一个又一个,最后编译的时候可能会出现一直显示Running Gradle …

在Pycharm中创建项目新环境,安装Pytorch

在python项目中&#xff0c;很多项目使用的各类包的版本是不一致的。所以我们可以对每个项目有专属于它的环境。所以这个文章就是教你如何创建新环境。 一、创建新环境 首先我们需要去官网下载conda。然后在Pycharm下面添加conda的可执行文件。 用conda创建新环境。 二、…

多要素气象环境监测站知识科普

随着工业化和城市化的快速发展&#xff0c;气象环境的影响越来越受到人们的关注。为了更好地保护我们的环境&#xff0c;一款WX-CQ12 多要素气象环境监测站应运而生。这款监测站可以全方位地监测气象环境中的温度、湿度、气压、风速、风向、雨量、太阳辐射等重要要素&#xff0…

Python实现的顺序查找算法

一、算法过程描述&#xff1a; 最基本的查找技术的过程&#xff1a;从表中的第一个记录开始&#xff0c;逐个进行记录的 关键字和给定值比较&#xff0c;若某个记录的关键字和给定值相等&#xff0c;则查找成功&#xff0c;找到所查的记录&#xff1b; 如果直到最后一个记录&am…

vue3高德地图使用,地址搜索,地址逆解析

在vue3项目里使用高德地图 高德地图文档 先在项目的index.html页面里添加一些东西 <script type"text/javascript">window._AMapSecurityConfig {securityJsCode: "xxxxxxxxxxxxx", //高德安全码};</script> <script src"https://…