用T-SQL程序求出每个职称中工资最高、最低教师的姓名、性别、年龄、工资,并给出各职称的平均工资。职称有助教、讲师(包括工程师)、副教授(包括高级工程师)、教授(包括研究员)
时间: 2023-08-07 21:05:22 浏览: 113
好的,以下是 T-SQL 程序:
```
SELECT
职称,
MAX(工资) AS 最高工资,
MIN(工资) AS 最低工资,
MAX(CASE WHEN 工资 = t1.最高工资 THEN 姓名 END) AS 最高工资教师姓名,
MAX(CASE WHEN 工资 = t1.最高工资 THEN 性别 END) AS 最高工资教师性别,
MAX(CASE WHEN 工资 = t1.最高工资 THEN 年龄 END) AS 最高工资教师年龄,
MAX(CASE WHEN 工资 = t1.最低工资 THEN 姓名 END) AS 最低工资教师姓名,
MAX(CASE WHEN 工资 = t1.最低工资 THEN 性别 END) AS 最低工资教师性别,
MAX(CASE WHEN 工资 = t1.最低工资 THEN 年龄 END) AS 最低工资教师年龄,
AVG(工资) AS 平均工资
FROM
教师表
GROUP BY
职称
ORDER BY
CASE 职称
WHEN '助教' THEN 1
WHEN '讲师' THEN 2
WHEN '副教授' THEN 3
WHEN '教授' THEN 4
END ASC
```
假设教师表的表名为“教师表”,包含以下字段:姓名、性别、年龄、职称、工资。程序中使用了 MAX、MIN、AVG 聚合函数,以及 CASE WHEN 结构。其中,MAX(CASE WHEN ...) 是一种常见的求条件下的最大值的方法。
请注意,以上程序可能需要根据实际情况进行调整,以适应不同的数据库和数据结构。
阅读全文