查询每个部门的工资总和,只查询有领导的员工,并且要求工资总和大于5400.
时间: 2024-02-11 18:07:30 浏览: 29
假设我们要查询的表名为`employee`,包含字段`dept`、`salary`和`manager`,其中`dept`表示部门名称,`salary`表示工资,`manager`表示领导编号。查询每个部门的工资总和可以使用如下SQL语句:
```
SELECT dept, SUM(salary) as total_salary
FROM employee
WHERE manager IS NOT NULL
GROUP BY dept
HAVING SUM(salary) > 5400;
```
其中,`WHERE`语句过滤掉没有领导的员工,`GROUP BY`语句按照`dept`字段分组,`SUM()`函数计算每组的工资总和。`HAVING`语句过滤掉工资总和小于等于5400的部门。最终返回每个部门的工资总和。
相关问题
用MySQL查询每个部门的工资总和,只查询有领导和员工,并且要求工资总和大于 5400
假设您的员工表名称为`employee`,部门表名称为`department`,可以使用如下SQL语句查询每个部门的工资总和:
```sql
SELECT d.name, SUM(e.salary) AS total_salary
FROM employee e
INNER JOIN department d ON e.department_id = d.id
WHERE e.job_title IN ('leader', 'employee')
GROUP BY d.name
HAVING total_salary > 5400;
```
其中,`INNER JOIN`用于连接员工表和部门表,`WHERE`子句用于筛选出职称为领导或员工的员工,`GROUP BY`子句用于按照部门名称进行分组,`HAVING`子句用于筛选出工资总和大于5400的部门。
需要注意的是,`INNER JOIN`语句中的`e.department_id = d.id`表示员工表中的部门ID与部门表中的ID进行连接,需要根据实际的数据库表结构进行调整。另外,`SUM(e.salary)`表示对每个部门的工资总和进行求和,`AS total_salary`表示对求和结果进行别名设置。
mysql查询每一个部门的工资总和,要求只显示总工资大于90w的部门信息
你可以使用以下的 SQL 语句来查询每一个部门的工资总和,并且只显示总工资大于90w的部门信息:
```
SELECT dept_name, SUM(salary) AS total_salary
FROM employee
GROUP BY dept_name
HAVING total_salary > 900000;
```
在这个查询中,我们首先使用 `GROUP BY` 子句按照部门名称对 `employee` 表进行分组,然后使用 `SUM` 函数计算每个部门的工资总和。最后,我们使用 `HAVING` 子句筛选出总工资大于90w的部门信息,并将结果按照部门名称和总工资进行显示。