sqlserver实验中,求出每个职称中工资最高、最低教师的姓名、性别、年龄、工资,并给出各职称的平均工资。职称有助教、讲师(包括工程师)、副教授(包括高级工程师)、教授(包括研究员)。
时间: 2023-07-03 07:17:12 浏览: 202
数据库实验二,单表查询
4星 · 用户满意度95%
假设我们有一个名为`employees`的表,其中包含员工的姓名、性别、年龄、职称、工资等信息。则可以使用如下的SQL查询语句来实现您的需求:
```
SELECT
title,
MAX(salary) AS max_salary,
MIN(salary) AS min_salary,
MAX(CASE WHEN salary = max_salary THEN name END) AS max_salary_name,
MAX(CASE WHEN salary = max_salary THEN gender END) AS max_salary_gender,
MAX(CASE WHEN salary = max_salary THEN age END) AS max_salary_age,
MAX(CASE WHEN salary = min_salary THEN name END) AS min_salary_name,
MAX(CASE WHEN salary = min_salary THEN gender END) AS min_salary_gender,
MAX(CASE WHEN salary = min_salary THEN age END) AS min_salary_age,
AVG(salary) AS avg_salary
FROM employees
GROUP BY title;
```
其中,`MAX`和`MIN`函数分别用于求出每个职称中的工资最高值和最低值,`AVG`函数用于求出平均工资。`CASE WHEN`语句用于获取最高和最低工资对应的员工的姓名、性别和年龄信息。最后,`GROUP BY`语句用于按照职称对结果进行分组。
阅读全文