Objective:

Let us write five different queries to list the top 4 highest paid employees from EMP table.

Methods:

1) Using ROWNUM
2) Using ROW_NUMBER ()
3) Using RANK()
4) Using DENSE_RANK()
5) Using MINUS

Using  ROWNUM :

Select * from (select empno, ename,sal, rownum as rk from emp order by sal desc)

Where rk<5;

Result:

Using ROW_NUMBER ():

 

select * from (select empno,ename,sal,row_number() over (order by sal desc)rk from emp order by sal desc)

where rk<5;

Result:

 

Using RANK():

select * from (select empno,ename,sal,rank()  over (order by sal desc)rk from emp order by sal desc)

where rk<5;

Result:

Using DENSE_RANK():

select * from (select empno,ename,sal,dense_rank()  over (order by sal desc)rk from emp order by sal desc)

where rk<5;

Result:

Using MINUS:

select empno,ename,sal from emp

minus

select empno,ename,sal from ( select empno,ename,sal,rownum as rk from emp

order by sal desc)

where rk>4;

Result:

Recommended Posts

Start typing and press Enter to search