当前位置: 首页 > news >正文

mysql查表相关练习

作业要求:

单表练习:

1 . 查询出部门编号为 D2019060011 的所有员工
2 . 所有财务总监的姓名、编号和部门编号。
3 . 找出奖金高于工资的员工。
4 . 找出奖金高于工资 40% 的员工。
5 找出部门编号为 D2019090011 中所有财务总监,和部门编号为 D2019060011 中所有财务专员的详细资
料。
6 . 找出部门编号为 D2019090001 中所有总经理,部门编号为 D2019090011 中所有财务总监,还有即不是总
经理又不是销售总监但其工资大或等于 4000 的所有员工详细资料。
7 有奖金的工种。
8 无奖金或奖金低于 1000 的员工。
9 . 查询名字由两个字组成的员工。
10 . 查询 2020 年入职的员工。
11 . 查询所有员工详细信息,用编号升序排序。
12 . 查询所有员工详细信息,用工资降序排序,如果工资相同使用入职日期升序排序。
13 . 查询每个部门的平均工资。
14 . 求出每个部门的雇员数量。
15 . 查询每种工作的最高工资、最低工资、人数 .
16 . 列出最低薪金大于 4000 的各种工作及从事此工作的员工人数。
17 . 统计各部门工资总和,显示部门编号和该部门雇员的月工资的总和,并且要满足该部门雇员的月工资合计
大于 6000 ,输出结果按月工资的合计升序排列。
多表练习
1 . 列出所有员工的姓名及其直接上级的姓名。
2 . 列出受雇日期早于直接上级的所有员工的编号、姓名、部门名称。
3 . 列出部门名称和这些部门的员工信息,同时列出那些没有员工的部门。
4 . 列出在财务部工作的员工的姓名,假定不知道财务部的部门编号。
5 . 列出薪金高于公司平均薪金的所有员工信息,所在部门名称,上级领导。
6 . 列出与陈超从事相同工作的所有员工及部门名称。
7 . 查出至少有一个员工的部门。显示部门编号、部门名称、部门位置、部门人数。
8 . 列出薪金高于在财务部工作员工平均薪金的员工姓名和薪金、部门名称

创建两个表,数据如下:

drop table if exists employee;
create table employee(
id bigint not null auto_increment,
number varchar(20) not null,
name varchar(50),
job varchar(50),
leader_NO varchar(20),
hire_date date,
salary decimal(7,2),
bonus decimal(7,2),
level integer default 0 comment '职位级别,9最高',
department_NO varchar(20),
primary key(id)
);
drop table if exists department;
create table department(
id bigint not null auto_increment,
number varchar(20) not null,
name varchar(50),
location varchar(50),
super_NO varchar(20),
primary key(id)
);insert into department values(0, 'D2019050001', '清华集团', '北京', null), (0, 'D2019050002', '集团总部', '北京','D2019050001'),
(0, 'D2019060001', '成都中心', '成都', 'D2019050001'), (0, 'D2019060002', '武汉中心', '武汉','D2019050001'),
(0, 'D2019090001', '上海中心', '上海', 'D2019050001'), (0, 'D2020010001', '广州中心', '广州','D2019050001'),
(0, 'D2019090011', '财务部', '上海', 'D2019090001'),(0, 'D2020020012', '行政部', '上海','D2019090001'),
(0, 'D2019060011', '财务部', '成都', 'D2019060001'), (0, 'D2019060012', '技术部', '成都','D2019060001'),
(0, 'D2019060013', '网络部', '成都', 'D2019060001'), (0, 'D2019060014', '市场部', '成都', 'D2019060001');insert into employee values(0,'E2018010001','吴所为','总经理', null,'2018-01-01',2800,4000,9,'D2019060001');
insert into employee values(0,'E2018070003','韩金龙','总经理', null,'2018-07-01',2800,4000,8,'D2019090001');
insert into employee values(0,'E2018060002','王黎明','总经理', null,'2018-06-01',2800,4000,8,'D2019060002');
insert into employee values(0,'E2018020002','龚爱国','总经理', null,'2018-02-01',2800,4000,8,'D2020010001');
insert into employee values(0,'E2019050001','马金花','财务总监', 'E2018010001','2019-01-01',3800,500,6,'D2019060011');
insert into employee values(0,'E2019050018','李昌贵','财务专员', 'E2019050001','2019-04-21',2800,800,4,'D2019060011');
insert into employee values(0,'E2019100011','王建国','网络管理员', 'E2018010001','2019-10-01',3200,null,5,'D2019060013');
insert into employee values(0,'E2019110004','黎锦熙','网络管理员', 'E2019100011','2019-11-01',3200,null,5,'D2019060013');
insert into employee values(0,'E2020020023','繁茂森','销售专员', 'E2019060005','2020-02-01',2800,0,4,'D2019060014');
insert into employee values(0,'E2019060005','张善民','销售经理', 'E2018010001','2019-06-01',2800,500,6,'D2019060014');
insert into employee values(0,'E2019060009','廖云龙','技术总监', 'E2018010001','2019-06-01',4800,2000,7,'D2019060012');
insert into employee values(0,'E2019120021','刘盛会','研发工程师', 'E2019060009','2019-12-11',4800,500,5,'D2019060012');
insert into employee values(0,'E2019020001','马明全','高级工程师', 'E2019060009','2019-02-01',4800,1000,6, 'D2019060012');
insert into employee values(0,'E2019120015','李意','行政专员', 'E2018070003','2019-12-20',2800,500,4,'D2019090001');
insert into employee values(0,'E2019020017','刘六一','财务总监', 'E2018070003','2019-02-16',3800,1000,6,'D2019090011');
insert into employee values(0,'E2020020012','陈超','研发工程师', 'E2019060009','2020-02-18',4200,500,5,'D2019060012');

建好如图

单表查询练习

1. 查询出部门编号为D2019060011的所有员工

2. 所有财务总监的姓名、编号和部门编号。

3. 找出奖金高于工资的员工。

4. 找出奖金高于工资40%的员工。

5 找出部门编号为D2019090011中所有财务总监,和部门编号为D2019060011中所有财务专员的详细资料。

6. 找出部门编号为D2019090001中所有总经理,部门编号为D2019090011中所有财务总监,还有即不是总经理又不是销售总监但其工资大或等于4000的所有员工详细资料。

7有奖金的工种。

8无奖金或奖金低于1000的员工。

9. 查询名字由两个字组成的员工。

10.查询2020年入职的员工。

11. 查询所有员工详细信息,用编号升序排序。

12. 查询所有员工详细信息,用工资降序排序,如果工资相同使用入职日期升序排序。

13. 查询每个部门的平均工资。

14. 求出每个部门的雇员数量。

15. 查询每种工作的最高工资、最低工资、人数.

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

17. 统计各部门工资总和,显示部门编号和该部门雇员的月工资的总和,并且要满足该部门雇员的月工资合计大于6000,输出结果按月工资的合计升序排列。

多表联查练习

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

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

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

4. 列出在财务部工作的员工的姓名,假定不知道财务部的部门编号。

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

6. 列出与陈超从事相同工作的所有员工及部门名称。

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

8. 列出薪金高于在财务部工作员工平均薪金的员工姓名和薪金、部门名称

http://www.lryc.cn/news/476545.html

相关文章:

  • airtest+poco多脚本、多设备批处理运行测试用例自动生成测试报告
  • Prometheus套装部署到K8S+Dashboard部署详解
  • python使用pymysql
  • Vue3 + TypeScript 组件和文件命名规范及 setup 导入顺序规范
  • netty之处理连接源码分析
  • Dockerfile文件编写
  • Oracle SQL 使用 ROWNUM 分页查询速度太慢的问题及解决方案!
  • Django3 + Vue.js 前后端分离书籍添加项目Web开发实战
  • 楼梯区域分割系统:Web效果惊艳
  • Day10加一
  • UTF-8简介
  • 基于Openwrt系统架构,实现应用与驱动的实例。
  • SQL进阶技巧:如何利用三次指数平滑模型预测商品零售额?
  • HTB:Cicada[WriteUP]
  • 小张求职记四
  • 适用于 c++ 的 wxWidgets框架源码编译SDK-windows篇
  • flink 内存配置(二):设置TaskManager内存
  • 【C++ 算法进阶】算法提升八
  • 阿里云实时数据仓库HologresFlink
  • 生成式语言模型的文本生成评价指标(从传统的基于统计到现在的基于语义)
  • 【网安案例学习】暴力破解攻击(Brute Force Attack)
  • 时间序列预测(十八)——实现配置管理和扩展命令行参数解析器
  • Vue问题汇总解决
  • Spark学习
  • 一些小细节代码笔记汇总
  • L4.【LeetCode笔记】链表题的VS平台调试代码
  • JavaCV 之高斯滤波:图像降噪与细节保留的魔法
  • VsCode显示空格
  • .Net C# 基于EFCore的DBFirst和CodeFirst
  • w012基于springboot的社区团购系统设计