用户杨兰具有从每个部门职工中 SELECT 最高工资.最低工资 .平均工资的权限,但不能查看每个人的工资。代码
时间: 2024-10-21 09:06:51 浏览: 48
在SQL编程中,如果用户杨兰需要查询每个部门的最高工资、最低工资和平均工资,但不需要访问具体的员工工资信息,可以设计一个存储过程或视图来实现这个需求。假设有一个名为`employees`的表,包含`department_id`, `salary`等字段。
```sql
-- 创建一个存储过程
CREATE PROCEDURE GetDepartmentStats AS
BEGIN
SELECT department_id,
MAX(salary) as max_salary,
MIN(salary) as min_salary,
AVG(salary) as avg_salary
FROM employees
GROUP BY department_id;
END;
-- 或者创建一个视图
CREATE VIEW DepartmentWages AS
SELECT department_id,
MAX(salary) as max_salary,
MIN(salary) as min_salary,
AVG(salary) as avg_salary
FROM employees
GROUP BY department_id;
-- 使用时,杨兰只需要运行SELECT * FROM DepartmentWages命令即可获取所需数据
```
在这个例子中,用户只能看到汇总的部门薪资统计数据,而不会直接暴露单个员工的详细工资信息。这是为了满足权限管理的需求。
阅读全文