Mysql案例6_求平均薪资的等级最低的部门的部门名称

背景:当前数据库的department表、salgrade表、employee表,数据分别如下:

SQL语句:

SELECT
            t.*,s.grade
FROM
            (
                    SELECT
                            e.departmentid, d.`name`,AVG(salary) avgsal
                    FROM
                            employee e
                    INNER JOIN
                            department d
                    on
                            e.departmentid=d.id
                    GROUP BY
                            e.departmentid,d.`name`  ) t
INNER JOIN
            salgrade s
ON
            t.avgsal BETWEEN s.losal AND s.hisal
WHERE
            grade = (SELECT
                               MIN(t.grade) mingra
                      FROM (
                                                SELECT
                                                    t.*,s.grade
                                                FROM
                                                        (
                                                                    SELECT
                                                                            e.departmentid, d.`name`,AVG(salary) avgsal
                                                                    FROM
                                                                            employee e
                                                                    INNER JOIN
                                                                            department d
                                                                    on
                                                                            e.departmentid=d.id
                                                                    GROUP BY
                                                                            e.departmentid,d.`name`) t
                                                    INNER JOIN
                                                            salgrade s
                                                    ON
                                                            t.avgsal BETWEEN s.losal AND s.hisal) t
                                                )

原文地址:https://www.cnblogs.com/wodexk/p/10703865.html

时间: 2024-11-12 04:38:17

Mysql案例6_求平均薪资的等级最低的部门的部门名称的相关文章

Mysql案例5:取得平均薪资最高的部门的部门名称

一.要求:查询平均薪水最高部门的部门编号 二.背景:当前数据库有employee表和department表,数据分别如下:   employee表:  department表: 三.难点: 1.需要考虑最高平均薪资可能在多个部门同时出现,查询出来的结果需要涵盖所有最高平均薪资的部门id 2.部门名称和员工工资不在一个表,所以需要用连接进行查询获取部门名称 四.SQL语句 SELECT e.departmentid,d.name,AVG(e.salary) avgsal FROM employee

Mysql案例4:要求查询平均薪水最高部门的部门编号

一.要求:查询平均薪水最高部门的部门编号 二.背景:emplyee表数据如下 三.难点:需要考虑最高平均薪资可能在多个部门同时出现,查询出来的结果需要涵盖所有最高平均薪资的部门id 四.思路: 第一步:先求出每个部门的平均薪资,作为临时表 t SELECT departmentid,AVG(salary) avgsal FROM employee GROUP BY departmentid 第二步:从第一步得出的每个部门平均薪资里求出最高值 SELECT MAX(t.avgsal) maxsal

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

部门中薪资超过部门平均薪资的员工姓名及薪资 # 题表 # 建表 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 varc

hdu 2023 求平均成绩 (java)

问题: 在计算列和时,没有将i j调换,导致输出错误的结果: for(int i=0;i<m;i++) { for(int j=0;j<n;j++) g[i]+=a[j][i];//错误:g[i]+=a[i][j]; g[i]=g[i]/n; 此外,定义了三个double型数组导致超出内存,实际上二维数组只需要用int型: 最后输出时没有注意要预留一个空行: 如果在同一级出现相同的for循环,要看能否组合成一个循环: 求平均成绩 Time Limit: 2000/1000 MS (Java/O

计算概论(A)/基础编程练习2(8题)/1:求平均年龄

1 #include<stdio.h> 2 int main() { 3 // 声明与初始化 4 int n, count=1, s=0, age=0; 5 6 // 输入学生人数 7 scanf("%d", &n); 8 9 // 循环读入 加和 10 while(count<=n) { 11 scanf("%d",&age); 12 s+=age; 13 count++; 14 } 15 16 // 计算平均年龄输出 17 pr

hdoj 2023 求平均成绩

求平均成绩 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 74055    Accepted Submission(s): 17809 Problem Description 假设一个班有n(n<=50)个学生,每人考m(m<=5)门课,求每个学生的平均成绩和每门课的平均成绩,并输出各科成绩均大于等于平均成绩的学生数量. Input

【MySQL案例】HA: GTID_MODE配置不一致

1.1.1. HA: GTID_MODE配置不一致 [环境描述] msyql5.6.14 [报错信息] 初始状态Master和Slave都开启了enforce-gtid-consistency和gtid-mode,然后在Master上把它俩都修改成了off关闭状态,这时,Slave发生报错: Last_IO_Error: The slave IO thread stopsbecause the master has @@GLOBAL.GTID_MODE OFF and this server [

【MySQL案例】error.log的Warning:If a crash happens thisconfiguration does not guarantee that the relay lo

1.1.1. If a crash happens thisconfiguration does not guarantee that the relay log info will be consistent [环境描述] msyql5.6.14 [报错信息] mysql的slave启动时,error.log中出现Warning警告: [Warning] Slave SQL: If a crash happensthis configuration does not guarantee tha

求平均成绩(杭电2023)(确实很水很繁琐)

求平均成绩 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 66221    Accepted Submission(s): 15805 Problem Description 假设一个班有n(n<=50)个学生,每人考m(m<=5)门课,求每个学生的平均成绩和每门课的平均成绩,并输出各科成绩均大于等于平均成绩的学生数量. Input