一步步掌握 Oracle 分析函数的强大能力
-- 创建一个分析函数,用于计算每个部门的平均工资,并标记出低于部门平均水平的员工
CREATE OR REPLACE VIEW view_dept_emp_salary AS
SELECT
d.department_id,
d.department_name,
e.employee_id,
e.first_name || ' ' || e.last_name AS employee_name,
e.salary,
AVG(e.salary) OVER (PARTITION BY d.department_id) AS department_avg_salary,
CASE
WHEN e.salary < AVG(e.salary) OVER (PARTITION BY d.department_id) THEN 'Low'
ELSE 'Average'
END AS salary_status
FROM
departments d
JOIN employees e ON d.department_id = e.department_id;
这段代码创建了一个视图,它展示了每个员工的ID、姓名、薪资,以及他们所在部门的平均薪资。同时,它使用CASE
语句标出低于部门平均薪资的员工。这是一个很好的分析函数使用案例,可以帮助初学者理解如何应用这个强大的数据库功能。
评论已关闭