Oracle lead 和 lga 两个函数的用途和用法

本文通过具体案例展示了如何使用SQL中的LEAD和LAG窗口函数来查询数据库中员工的入职日期及薪资变化情况,有助于理解这些高级查询技巧的实际应用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

lead  返回下一条记录hire_date的值。
SELECT last_name, hire_date,
LEAD (hire_date, 1) OVER (ORDER BY hire_date) AS "NextHired"
FROM employees
WHERE department_id = 30;


LAST_NAME                                  HIRE_DATE  NextHired 
-------------------------  ---------  --------- 
Raphaely                                    07-DEC-94  18-MAY-95 
Khoo                                            18-MAY-95  24-JUL-97 
Tobias                                        24-JUL-97  24-DEC-97 
Baida                                          24-DEC-97  15-NOV-98 
Himuro                                        15-NOV-98  10-AUG-99 
Colmenares                                10-AUG-99

LAG 返回前一条记录hire_date的值(没有的话,值为0)。
SELECT last_name, hire_date, salary,
LAG (salary, 1, 0) OVER (ORDER BY hire_date) AS prev_sal
FROM employees
WHERE job_id = 'PU_CLERK';


LAST_NAME                                  HIRE_DATE          SALARY      PREV_SAL 
-------------------------  ---------  ----------  ---------- 
Khoo                                            18-MAY-95              3100                   
Tobias                                        24-JUL-97              2800              3100 
Baida                                          24-DEC-97              2900              2800 
Himuro                                        15-NOV-98              2600              2900 
Colmenares                                10-AUG-99              2500              2600
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值