查询员工工资大于12000的部门名、部门平均工资用navicat 的where中的in
时间: 2024-10-15 15:20:28 浏览: 51
在Navicat(一款数据库管理工具)中,如果你想查询员工工资大于12000的部门名及其对应的部门平均工资,假设有一个名为`employees`的表,包含`department_id`, `salary`以及`department_name`字段,你可以使用以下SQL查询:
```sql
SELECT department_name, AVG(salary) AS average_salary
FROM employees
WHERE salary > 12000 AND department_id IN (
SELECT department_id FROM employees GROUP BY department_id HAVING COUNT(*) > 0
)
GROUP BY department_name;
```
这个查询做了以下几件事:
1. 使用`WHERE salary > 12000`筛选出工资超过12000的员工记录。
2. `IN (SELECT ...)`嵌套了一个子查询,用于获取每个有员工的部门ID(通过`GROUP BY department_id HAVING COUNT(*) > 0`确保至少有一条记录的部门)。
3. `GROUP BY department_name`将结果按部门名分组,然后计算每个部门的平均工资。
阅读全文