select ename, job, sal, rank() over (order by sal desc) 순위
from emp
where job in ('ANALYST', 'MANAGER');
💡 rank() over (order by ...)
over()
: ()안에 있는 것을 확장해서 출력하라
select ename, age, dense_rank () over (order by age desc) 순위
from emp21;
💡 dense_rank() over (order by ...)
: 공동 순위가 있을 때 그 다음 순위를 다음 숫자로 출력
ex. 1 - 2 - 2 - 3
dense 안쓰면 1 - 2 - 2 - 4
select ename, sal, hiredate, rank() over (order by hiredate) 순위
from emp
where job='SALESMAN';
update emp21
set telecom='LG'
where ename='000';
select * from emp21;
COMMIT;
delete from emp21 where ename='0000';
commit;
select deptno, ename, sal, rank() over(partition by deptno
order by sal desc nulls last) as 순위
from emp;
💡 partition by
: rank 함수에서 각각 뽑을 때 사용
select telecom, ename, rank() over(partition by telecom
order by age desc) as 순위
from emp21;