以下是将关键字小写,同时保持表名大写的查询,用于计算员工薪资高于部门平均水平的百分比:

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 的大写形式。

查询解释:

  1. select employees.*, ...: 查询 EMPLOYEES 表中的所有列,并计算一个名为 'Percent' 的新列。
  2. ROUND(((employees.Salary - avg_salary.AvgSalary) / avg_salary.AvgSalary) * 100, 2) AS Percent: 计算员工薪资高于部门平均薪资的百分比,并使用 ROUND 函数将结果保留两位小数。
  3. from employees inner join (...) avg_salary ...: 使用内连接将 EMPLOYEES 表与一个子查询的结果连接起来。
  4. select Departmentid, AVG(Salary) AS AvgSalary ... group by Departmentid: 子查询计算每个部门的平均薪资 (AvgSalary)。
  5. on employees.Departmentid = avg_salary.Departmentid: 连接条件,根据部门 ID 将 EMPLOYEES 表与子查询结果连接起来。
  6. where employees.Salary > avg_salary.AvgSalary: 筛选条件,只返回薪资高于部门平均薪资的员工。

通过这个查询,您可以轻松找到薪资高于部门平均水平的员工,并进行进一步的分析。

sql 查询:计算员工薪资高于部门平均水平的百分比(关键字小写,表名大写)

原文地址: https://www.cveoy.top/t/topic/chhP 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录