假设我们有一个员工表(employees)包含以下字段:员工ID(employee_id)、员工姓名(employee_name)、部门ID(department_id)和薪酬(salary)。
要显示每个部门中最高薪酬员工与其他员工薪酬之间的差距,可以使用以下代码示例:
SELECT e1.department_id, e1.employee_name, e1.salary, MAX(e2.salary) AS max_salary, MAX(e2.salary) - e1.salary AS salary_difference
FROM employees e1
INNER JOIN employees e2 ON e1.department_id = e2.department_id
GROUP BY e1.department_id, e1.employee_name, e1.salary
这个查询语句使用了自连接(self-join)来将同一部门的员工进行比较。首先,我们从员工表(employees)中选择员工的部门ID、姓名和薪酬。然后,我们通过INNER JOIN将相同部门的员工连接在一起。在连接的结果中,我们使用MAX函数来找到每个部门中的最高薪酬(e2.salary)。最后,我们使用GROUP BY对每个部门和员工进行分组,并计算最高薪酬与其他员工薪酬之间的差距。
请注意,这只是一个示例代码,实际应用中需要根据具体的数据库和表结构进行适当的调整。