Anda di halaman 1dari 3

SELECT empno,empname,saL,nvl(commission,0) "NEW COMMISSION",

rank() over(order by sal desc) "RANK_SAL"


FROM emp
WHERE rownum<=5;

EMPNO EMPNAME SAL NEW COMMISSION RANK_SAL
104 AJAY 150000 0 1
105 PRAMOD 100000 0 2
103 VISHAL 75000 0 3
102 NILESH 45000 0 4
101 AJIT 25000 0 5




SELECT deptno,empname,sal,min(sal) keep (dense_rank first order by sal)
over(partition by deptno) "LOWEST SALARY",
max(sal)keep(dense_rank last order by sal) over(partition by deptno)
"HIGHEST SALARY"
FROM emp
ORDER BY deptno,sal;

DEPTNO EMPNAME SAL LOWEST SALARY HIGHEST SALARY
10 AJIT 75000 75000 100000
10 VISHAL 75000 75000 100000
10 AJAY 100000 75000 100000
10 PRAMOD 100000 75000 100000
20 NILESH 45000 45000 200000
20 JINESH 90000 45000 200000
20 PUNEET 200000 45000 200000
7 rows selected.



SELECT empno,empname,job,sal,LAG (sal,1,0) over (order by sal) as
"SAL_PREV", sal-LAG(sal,1,0) over (order by sal) as "SAL_DIFFERENCE"
FROM emp
ORDER BY sal;

EMPNO EMPNAME JOB SAL SAL_PREV SAL_DIFFERENCE
102 NILESH SALES MANAGER 45000 0 45000
101 AJIT SOFTWARE ANALYST 75000 45000 30000
103 VISHAL SALES DEVELOPER 75000 75000 0
106 JINESH TEAM LEADER 90000 75000 15000
105 PRAMOD HR MANAGER 100000 90000 10000
104 AJAY HR EXECUTIVE 100000 100000 0
107 PUNEET PROJECT MANAGER 200000 100000 100000
7 rows selected.

SELECT empno,empname,job,sal,LEAD (sal,1,0) over (order by sal) as
"SAL_NEXT",sal-LEAD(sal,1,0) over (order by sal) as "SAL_DIFFERENCE"
FROM emp
ORDER BY sal;


EMPNO EMPNAME JOB SAL SAL_NEXT SAL_DIFFERENCE
102 NILESH SALES MANAGER 45000 75000 -30000
101 AJIT SOFTWARE ANALYST 75000 75000 0
103 VISHAL SALES DEVELOPER 75000 90000 -15000
106 JINESH TEAM LEADER 90000 100000 -10000
105 PRAMOD HR MANAGER 100000 100000 0
104 AJAY HR EXECUTIVE 100000 200000 -100000
107 PUNEET PROJECT MANAGER 200000 0 200000
7 rows selected.


SELECT deptno,job,count(*) AS "TOTAL EMP",sum(sal) AS "TOTAL SAL"
FROM emp
GROUP BY deptno,rollup(job);

DEPTNO JOB TOTAL EMP TOTAL SAL
10 HR MANAGER 1 100000
10 HR EXECUTIVE 1 100000
10 SALES DEVELOPER 1 75000
10 SOFTWARE ANALYST 1 75000
10

4 350000
20 TEAM LEADER 1 90000
20 SALES MANAGER 1 45000
20 PROJECT MANAGER 1 200000
20

3 335000
9 rows selected.



SELECT empno,empname,deptno,sal,sum(sal) over(partition by deptno order
by deptno rows 2 preceding) "TOTAL SAL"
FROM emp
ORDER BY deptno;

EMPNO EMPNAME DEPTNO SAL TOTAL SAL
101 AJIT 10 75000 75000
104 AJAY 10 100000 175000
105 PRAMOD 10 100000 275000
103 VISHAL 10 75000 275000
107 PUNEET 20 200000 200000
106 JINESH 20 90000 290000
102 NILESH 20 45000 335000
7 rows selected.
SELECT * from emp;

EMPNO EMPNAME SAL DEPTNO JOB COMMISSION HIREDATE
101 AJIT 75000 10 SOFTWARE ANALYST

24-JUN-13
102 NILESH 45000 20 SALES MANAGER 3150 10-JAN-11
103 VISHAL 75000 10 SALES DEVELOPER

27-MAR-13
104 AJAY 100000 10 HR EXECUTIVE 22-DEC-13
105 PRAMOD 100000 10 HR MANAGER 10000 29-FEB-12
106 JINESH 90000 20 TEAM LEADER 13500 21-NOV-11
107 PUNEET 200000 20 PROJECT MANAGER

15-OCT-10
7 rows selected.



SELECT empno,empname,sal,deptno,MIN(HIREDATE)KEEP (DENSE_RANK FIRST ORDER
BY hiredate) over (partition by deptno) "FIRST EMP"
FROM EMP
ORDER BY DEPTNO,sal;

EMPNO EMPNAME SAL DEPTNO FIRST EMP
101 AJIT 75000 10 29-FEB-12
103 VISHAL 75000 10 29-FEB-12
104 AJAY 100000 10 29-FEB-12
105 PRAMOD 100000 10 29-FEB-12
102 NILESH 45000 20 15-OCT-10
106 JINESH 90000 20 15-OCT-10
107 PUNEET 200000 20 15-OCT-10
7 rows selected.

Anda mungkin juga menyukai