部门中薪资超过部门平均薪资的员工姓名及薪资

部门中薪资超过部门平均薪资的员工姓名及薪资

# 题表

# 建表
create table emp(
  id int not null unique auto_increment,
  name varchar(20) not null,
  sex enum('male','female') not null default 'male', #大部分是男的
  age int(3) unsigned not null default 28,
  hire_date date not null,
  post varchar(50),
  post_comment varchar(100),
  salary double(15,2),
  office int, #一个部门一个屋子
  depart_id int
);

#插入记录
#三个部门:教学,销售,运营
insert into emp(name,sex,age,hire_date,post,salary,office,depart_id) values
('jason','male',18,'20170301','张江第一帅形象代言',7300.33,401,1), #以下是教学部
('egon','male',78,'20150302','teacher',1000000.31,401,1),
('kevin','male',81,'20130305','teacher',8300,401,1),
('tank','male',73,'20140701','teacher',3500,401,1),
('owen','male',28,'20121101','teacher',2100,401,1),
('jerry','female',18,'20110211','teacher',9000,401,1),
('nick','male',18,'19000301','teacher',30000,401,1),
('sean','male',48,'20101111','teacher',10000,401,1),

('歪歪','female',48,'20150311','sale',3000.13,402,2),#以下是销售部门
('丫丫','female',38,'20101101','sale',2000.35,402,2),
('丁丁','female',18,'20110312','sale',1000.37,402,2),
('星星','female',18,'20160513','sale',3000.29,402,2),
('格格','female',28,'20170127','sale',4000.33,402,2),

('张野','male',28,'20160311','operation',10000.13,403,3), #以下是运营部门
('程咬金','male',18,'19970312','operation',20000,403,3),
('程咬银','female',18,'20130311','operation',19000,403,3),
('程咬铜','male',18,'20150411','operation',18000,403,3),
('程咬铁','female',18,'20140512','operation',17000,403,3)
;

#ps:如果在windows系统中,插入中文字符,select的结果为空白,可以将所有字符编码统一设置成gbk
select name,salary,post from
(
(select name, salary, post from emp ) as t1
inner join
(select post as post2,avg(salary) as avg from emp group by post) as t2 on t1.post = t2.post2
)
where salary > avg
# 结果:
mysql> select  name,salary,post from                                                                                                             -> (
    -> (select  name, salary, post from emp ) as t1
    -> inner join
    -> (select post as post2,avg(salary) as avg from emp group by post) as t2 on t1.post = t2.post2
    -> )
    -> where salary > avg;
+-----------+------------+-----------+
| name      | salary     | post      |
+-----------+------------+-----------+
| egon      | 1000000.31 | teacher   |
| 歪歪      |    3000.13 | sale      |
| 星星      |    3000.29 | sale      |
| 格格      |    4000.33 | sale      |
| 程咬金    |   20000.00 | operation |
| 程咬银    |   19000.00 | operation |
| 程咬铜    |   18000.00 | operation |
| 程咬铁    |   17000.00 | operation |
+-----------+------------+-----------+
8 rows in set (0.00 sec)

原文地址:https://www.cnblogs.com/shuchengyi/p/10871445.html

时间: 2024-11-08 00:27:42

部门中薪资超过部门平均薪资的员工姓名及薪资的相关文章

2.oracle分页,找到员工表中薪水大于本部门平均薪水的员工

 ROWNUM的知识点 A ROWNUM按照oracle的默认机制生成. B rownum只能使用<=  <号,不能使用>  >= rownum的实现机制 rownum表示,返回的结果集的行号(是一个属性,固化到一行之中,不会因为你排序,而发生变化).没有第一行,就没有第二行:没有第二行就没有第三行. Oracle Top-N select rownum,empno,ename,sal from (select empno,ename,sal from emp order by

数据库笔试——查出各部门超出部门平均薪资的员工的姓名,薪资,所在部门名称及部门平均薪水

有一段时间没做数据库的题了,前面面试偶然做到这么一题目,觉得不错,凭记忆将题目记下来,然后在数据库中实现了一遍. 题目大概是这样: 一张员工表 employee,包含字段 id,name,salary,dep_no; 一张部门信息表 department,包含字段 id,dep_no,name,其中 employee 的 dep_no 关联 department 的 dep_no;写 sql 查出各部门超出部门平均薪资的员工的姓名,薪资,所在部门名称及部门平均薪水. 下面是我创建的两张表: DR

oracle查询某人所在的部门(326)是否属于部门字符串(329|2)或者该部门字符串的子部门中

部门326为部门329的父部门,部门2与部门326是同级部门: 账户muyunfei,属于329部门 消息发送给部门2及部门326两个部门(326|2),发送的部门对象之间用"|"分割 查询:muyunfei账户是否属于该部门字符串(329|2)或者该部门字符串的子部门中 1.首先使用start with.....connect by获得账户muyunfei的部门及父部门 2.遍历部门及父部门,在循环体重嵌套循环(该循环拆分以"|"为分隔符的部门号),在嵌套的循环体

2、部门与项目人员组成 - 部门管理经验谈

在部门的管理中,首要的是部门的组成和部门人员的组成,这个是整个部门进行规划和开展工作的基本点.笔者在进行部门管理的过程中,部门人员安排有限,这里仅根据笔者以前去过的公司的一些情况进行描述. 一.部门的组成.在项目管理知识体系指南中,对部门的类型进行的划分,分为“职能型.矩阵型.项目型”三种,下面对这三种进行下描述: 1.职能型: 职能型主要是针对部门内部的各个人员的职能做划分.从上图中能够看出,职能型的人员权限和职责相对比较弱,项目经理的权限很少或没有,不适合一般的IT软件项目型的部门结构.职能

OA项目9:部门管理的上下级部门的功能实现

首注:本学习教程为传智播客汤阳光讲师所公布的免费OA项目视频我的文字版实践笔记,本人用此来加强巩固自己开发知识,如有网友转载,请注明.谢谢. 一 功能分析: 1,列表页面只显示一层的(同级的)部门数据,默认显示最顶级的部门列表. 2,点击部门名称,可以查看此部门相应的下级部门列表. 3,删除部门时,同时删除此部门的所有下级部门. 4,上级部门的列表是有层次结构的(树形). 5,如果是修改:上级部门列表中不能显示当前修改的部门及其子孙部门.因为不能选择自已或自已的子部门作为上级部门. 二 首先,将

5、部门与项目管理事项 - 部门管理经验谈

今天说说部门管理与项目管理的相关内容.这个也是部门经理日常开展工作的相关内容.下面主要从IT软件项目部门出发,对部门的管理事项做一个介绍. 一.部门管理: 1.  对人员: 对于员工,部门经理主要是对项目经理负责,针对项目经理的相关工作做处理.而项目经理主要对项目和人员负责,也就是说,笔者还是比较倾向于金字塔型的管理层模式.这个是有它自己的道理的,因为高层领导无法对基层人员的工作内容做详细了解,主要是没那个时间和精力去做这个处理.所以,部门经理的时间主要花在对项目经理的管理上面,这样部门经理的时

【C++】用结构体完成:编程求出3个学生中某个学生的平均成绩

//用结构体完成:编程求出3个学生中某个学生的平均成绩 #include <iostream> #include <string.h> using namespace std; struct student { char *name; double score[3]; }; struct student stu[3]={{"han",80,90,95},{"zhao",78,85,92},{"dan",75,60,59}}

删除一个字符串中连续超过一次的空格

问题 删除一个字符串中连续超过一次的空格. 解决(Python) #! /usr/bin/env python #coding:utf-8 def del_space(string): split_string = string.split(" ") #以空格为分割,生成list,list中如果含有空格,则该空格是连续空格中的后一个 string_list = [i for i in split_string if i!=""] #去掉空格,生成list resul

编写一个ComputerAverage抽象类,类中有一个抽象方法求平均分average,可以有参数。定义 Gymnastics 类和 School 类,它们都是 ComputerAverage 的子类。Gymnastics 类中计算选手的平均成绩的方法是去掉一个最低分,去掉一个最高分,然后求平均分;School 中计算平均分的方法是所有科目的分数之和除以总科目数。 要求:定义ComputerAv

题目: 编写一个ComputerAverage抽象类,类中有一个抽象方法求平均分average,可以有参数. 定义 Gymnastics 类和 School 类,它们都是 ComputerAverage 的子类. Gymnastics 类中计算选手的平均成绩的方法是去掉一个最低分,去掉一个最高分,然后求平均分: School 中计算平均分的方法是所有科目的分数之和除以总科目数. 要求:定义ComputerAverage的对象为上转型对象,并调用重写的方法averge. 题目用到:1.方法的多态