查询部门编号不为10,且工资比10部门任意一名员工工资高的员工编号,姓名,职位,工资
时间: 2024-10-08 13:12:53 浏览: 40
C++综合编程题,如设计一个类rect等!
这个问题是在数据库查询场景下,需要找到所有在非编号为10的部门工作的员工,他们的工资高于该部门内编号为10的员工的最高工资。通常这样的查询涉及到两个步骤:首先找出编号为10部门的最高工资,然后在其他部门中筛选出工资更高的员工。
假设我们有两个表,一个是 `employees` 表,包含 `employee_id`, `name`, `position`, `salary` 和 `department_id` 等字段,另一个是 `departments` 表,包含 `id` 和 `name` 等字段。那么可以使用如下SQL查询:
```sql
WITH max_salary_dept_10 AS (
SELECT MAX(salary) as max_salary
FROM employees
WHERE department_id = 10
)
SELECT e.employee_id, e.name, e.position, e.salary
FROM employees e
WHERE e.department_id != 10 AND e.salary > (SELECT max_salary FROM max_salary_dept_10)
```
这个查询先创建了一个名为 `max_salary_dept_10` 的临时结果集,存储编号为10部门的最高工资,然后在外部查询中选择那些工资高于这个值的员工信息。
阅读全文