任务3-2 输入部门编号并获得部门平均工资,根据规则显示部门平均工资等级,规则如下: 平均工资小于1500工资等级为低工资,平均工资在1500-4000之间工资等级为中等,平均工资大于4000工资等级为高工资。(提示:使用CASE语句和SELECT语句)
时间: 2024-04-05 16:33:33 浏览: 89
您可以使用以下SQL查询来获取部门平均工资并根据规则显示工资等级:
```sql
SELECT department_id,
AVG(salary) AS avg_salary,
CASE
WHEN AVG(salary) < 1500 THEN '低工资'
WHEN AVG(salary) >= 1500 AND AVG(salary) <= 4000 THEN '中等工资'
WHEN AVG(salary) > 4000 THEN '高工资'
END AS salary_level
FROM employees
GROUP BY department_id;
```
在上述查询中,我们使用了`AVG()`函数来计算每个部门的平均工资。然后,使用`CASE`语句根据平均工资的范围为每个部门分配相应的工资等级。最后,使用`GROUP BY`语句按部门进行分组并显示结果。
请注意,上述查询是基于一个名为`employees`的表进行的,您需要将其替换为您实际的表名。
相关问题
sql实现 -- 21.查询每个部门的部门编号,平均工资和平均奖金,平均奖金大于300显示则显示字符串'奖金可观',100到300显示字符串'奖金一般',小于100显示'奖金极少'
可以使用如下SQL语句:
SELECT department_id, AVG(salary) AS avg_salary,
CASE
WHEN AVG(bonus) > 300 THEN '奖金可观'
WHEN AVG(bonus) BETWEEN 100 AND 300 THEN '奖金一般'
ELSE '奖金极少'
END AS bonus_level
FROM employees
GROUP BY department_id;
用Python循环录入员工工资,输入q退出 如果员工工资小于0,显示输入错误,重新录入,并打印平均工资
在Python中,你可以使用while循环来实现这样的功能。首先,创建一个空列表来存储员工工资,然后让用户输入工资,检查是否输入了q来表示退出,如果输入的是负数则提示错误并重新询问。当用户输入合法的工资或者选择退出时,计算当前工资列表的平均值。以下是示例代码:
```python
# 初始化一个空列表来存放工资
salaries = []
# 循环直到用户选择退出
while True:
salary = input("请输入员工工资(输入q退出):")
# 检查输入是否为q或一个小于0的数字
if salary.lower() == 'q':
break
elif not salary.isdigit():
print("输入错误,请输入一个非负整数。")
continue
salary = int(salary)
salaries.append(salary)
# 计算平均工资并打印
if salaries:
average_salary = sum(salaries) / len(salaries)
print(f"平均工资是:{average_salary}")
else:
print("还没有输入任何工资数据。")
# 相关问题:
1. 这段代码如何处理用户输入的非数字字符?
2. 如果一开始就输入了q会怎样?
3. 如何修改代码以允许用户输入小数工资?
阅读全文