14.查询每个部门的平均工资,只查询工资在1000到3000之间的,并且过滤掉平均工资低于2000的,正确的SQL语句是?
时间: 2024-02-11 19:07:32 浏览: 27
可以使用如下的SQL语句来查询每个部门的平均工资,只查询工资在1000到3000之间的,并且过滤掉平均工资低于2000的部门:
```sql
SELECT dept_id, AVG(salary) as avg_salary
FROM employee
WHERE salary >= 1000 AND salary <= 3000
GROUP BY dept_id
HAVING avg_salary >= 2000
```
解释一下上面的SQL语句:
- `SELECT dept_id, AVG(salary) as avg_salary`:查询每个部门的部门ID和平均工资,使用AVG函数计算平均工资,并将计算结果命名为avg_salary。
- `FROM employee`:从employee表中查询数据。
- `WHERE salary >= 1000 AND salary <= 3000`:筛选工资在1000到3000之间的员工。
- `GROUP BY dept_id`:按照部门ID进行分组,计算每个部门的平均工资。
- `HAVING avg_salary >= 2000`:过滤掉平均工资低于2000的部门。
注意,这里的平均工资是在1000到3000之间的工资的平均值,而不是所有工资的平均值。
相关问题
用mysql查询工资在1000~3000之间的员工信息,每个部门的编号,平均工资,最低工资,最高工资,根据平均工资进行升序排列
可以使用如下的SQL语句来实现:
```
SELECT
e.*, d.dept_no, AVG(e.salary) AS avg_salary,
MIN(e.salary) AS min_salary, MAX(e.salary) AS max_salary
FROM
employees e
JOIN dept_emp de ON e.emp_no = de.emp_no
JOIN departments d ON de.dept_no = d.dept_no
WHERE
e.salary BETWEEN 1000 AND 3000
GROUP BY
d.dept_no
ORDER BY
avg_salary ASC;
```
解析:
1. 使用了 `JOIN` 连接了 `employees`、`dept_emp` 和 `departments` 三个表,通过 `emp_no` 和 `dept_no` 字段进行关联。
2. 使用了 `WHERE` 子句过滤了工资在 1000~3000 之间的员工。
3. 使用了 `GROUP BY` 子句将结果按照部门编号进行分组,以便计算每个部门的平均工资、最低工资和最高工资。
4. 使用了 `AVG`、`MIN` 和 `MAX` 聚合函数计算了每个部门的平均工资、最低工资和最高工资。
5. 使用了 `ORDER BY` 子句将结果按照平均工资进行升序排序。
MySQL查询平均工资高于公司平均工资的部门有哪些?
假设您的公司有两个表,一个是员工表(employees),一个是部门表(departments),并且它们之间有一个关联字段dept_no。您可以使用以下SQL语句查询平均工资高于公司平均工资的部门:
```
SELECT departments.dept_name, AVG(employees.salary) AS dept_avg_salary,
(SELECT AVG(salary) FROM employees) AS company_avg_salary
FROM employees
INNER JOIN departments ON employees.dept_no = departments.dept_no
GROUP BY departments.dept_name
HAVING dept_avg_salary > company_avg_salary;
```
这个查询语句将使用INNER JOIN将员工表和部门表联接起来,并计算每个部门的平均工资。然后,它将使用HAVING子句过滤掉平均工资低于公司平均工资的部门,并输出符合条件的部门名称和平均工资。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pptx](https://img-home.csdnimg.cn/images/20210720083543.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)