sql 查询:计算员工薪资高于部门平均水平的百分比(关键字小写,表名大写)
以下是将关键字小写,同时保持表名大写的查询,用于计算员工薪资高于部门平均水平的百分比:
select employees.*, ROUND(((employees.Salary - avg_salary.AvgSalary) / avg_salary.AvgSalary) * 100, 2) AS Percent
from employees
inner join (
select Departmentid, AVG(Salary) AS AvgSalary
from employees
group by Departmentid
) avg_salary on employees.Departmentid = avg_salary.Departmentid
where employees.Salary > avg_salary.AvgSalary
在这个查询中,所有的关键字被转换为小写,以符合 SQL 的语法规则。同时,保持了表名 EMPLOYEES 的大写形式。
查询解释:
select employees.*, ...: 查询 EMPLOYEES 表中的所有列,并计算一个名为 'Percent' 的新列。ROUND(((employees.Salary - avg_salary.AvgSalary) / avg_salary.AvgSalary) * 100, 2) AS Percent: 计算员工薪资高于部门平均薪资的百分比,并使用 ROUND 函数将结果保留两位小数。from employees inner join (...) avg_salary ...: 使用内连接将 EMPLOYEES 表与一个子查询的结果连接起来。select Departmentid, AVG(Salary) AS AvgSalary ... group by Departmentid: 子查询计算每个部门的平均薪资 (AvgSalary)。on employees.Departmentid = avg_salary.Departmentid: 连接条件,根据部门 ID 将 EMPLOYEES 表与子查询结果连接起来。where employees.Salary > avg_salary.AvgSalary: 筛选条件,只返回薪资高于部门平均薪资的员工。
通过这个查询,您可以轻松找到薪资高于部门平均水平的员工,并进行进一步的分析。
原文地址: https://www.cveoy.top/t/topic/chhP 著作权归作者所有。请勿转载和采集!