Advertisement
Guest User

Untitled

a guest
Feb 19th, 2018
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQL 1.34 KB | None | 0 0
  1. -- ECBD lab 2
  2.  
  3. -- ex1
  4. SELECT dname, ename, hiredate, DENSE_RANK() OVER (PARTITION BY dname ORDER BY hiredate ASC) pos_hire_date
  5. FROM emp e INNER JOIN dept d ON e.deptno = d.deptno;
  6.  
  7. --ex2
  8. SELECT deptno, job, ROUND(AVG(sal), 2), DENSE_RANK() OVER (PARTITION BY deptno ORDER BY ROUND(AVG(sal), 2) DESC) pos_sal
  9. FROM emp
  10. GROUP BY ROLLUP(deptno, job);
  11.  
  12. --ex3
  13. SELECT deptno, job, ROUND(AVG(sal), 2),
  14. DENSE_RANK() OVER (PARTITION BY deptno ORDER BY ROUND(AVG(sal), 2) DESC) pos_sal,
  15. DENSE_RANK() OVER (PARTITION BY job ORDER BY ROUND(AVG(sal), 2) DESC) pos_sal
  16. FROM emp
  17. GROUP BY ROLLUP(deptno, job);
  18.  
  19. --ex4
  20. SELECT * FROM (SELECT ename, sal, NVL(comm, 0), NVL(comm, 0)+sal,
  21. DENSE_RANK() OVER (ORDER BY NVL(comm, 0)+sal DESC) pos_sal,
  22. ROW_NUMBER() OVER (ORDER BY NVL(comm, 0)+sal DESC) nrcrt FROM emp) e
  23. WHERE e.pos_sal <= 10;
  24.  
  25. --ex5
  26. SELECT * FROM (SELECT ename, sal, NVL(comm, 0), NVL(comm, 0)+sal,
  27. DENSE_RANK() OVER (ORDER BY NVL(comm, 0)+sal DESC) pos_sal,
  28. ROW_NUMBER() OVER (ORDER BY NVL(comm, 0)+sal DESC) nrcrt,
  29. ROUND(cume_dist() OVER (ORDER BY NVL(comm, 0)+sal), 2) dist
  30. FROM emp) e
  31. WHERE e.pos_sal <= 10;
  32.  
  33. --ex6
  34. SELECT ename, sal, NVL(comm, 0), NVL(comm, 0)+sal,
  35. DENSE_RANK() OVER (ORDER BY NVL(comm, 0)+sal DESC) pos_sal,
  36. ROW_NUMBER() OVER (ORDER BY NVL(comm, 0)+sal DESC) nrcrt,
  37. ntile(4) OVER (ORDER BY sal DESC) ntile4
  38. FROM emp;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement