数据库中 使用子查询,查询每位员工的编号、姓名、工资、所在部门平均工资,结果按照工资升序排序。
时间: 2024-10-23 11:05:40 浏览: 40
SQL数据库经典面试题(修改笔试题)(有答案).doc
在数据库中,你可以使用子查询(Subquery)来计算每个员工所在的部门平均工资,并结合主查询获取员工信息。这是一个SQL查询的例子,假设我们有一个员工表`employees`(包含字段`emp_id`, `name`, `salary`, `dept_id`) 和一个部门表`departments`(包含字段`dept_id`, `avg_salary`):
```sql
SELECT employees.emp_id, employees.name, employees.salary, departments.avg_salary
FROM employees
JOIN (
SELECT dept_id, AVG(salary) AS avg_salary
FROM employees
GROUP BY dept_id
) AS department_avg ON employees.dept_id = department_avg.dept_id
ORDER BY employees.salary ASC;
```
这个查询首先通过子查询找出每个部门的平均工资(department_avg),然后在外部查询中将这两个表联接起来,最后按员工工资升序排序。
阅读全文