oracle_assignment_1

14
ORACLE ASSIGNMENT 1 Page | 1 WANT TO DOWNLOAD? LOG ON sites.google.com/site/yogeshkulkarni206 1. DISPLAY NAMES & JOBS OF EMPLOYEES WHO ARE CLERK SQL> SELECT ENAME, JOB FROM EMP WHERE JOB='CLERK'; ENAME JOB ---------- --------- SMITH CLERK ADAMS CLERK JAMES CLERK MILLER CLERK 2. DISPLAY NAMES & DEPARTMENTS WHOSE JOB IS ANALYST OR CLERK SQL> SELECT ENAME, JOB, DEPTNO FROM EMP WHERE JOB IN ('ANALYST','CLERK'); ENAME JOB DEPTNO ---------- --------- ---------- SMITH CLERK 20 SCOTT ANALYST 20 ADAMS CLERK 20 JAMES CLERK 30 FORD ANALYST 20 MILLER CLERK 10 6 rows selected. 3. GIVE LIST OF EMPLOYEES SORTED ON NAME SQL> SELECT ENAME FROM EMP ORDER BY ENAME; ENAME ---------- ADAMS ALLEN BLAKE CLARK FORD JAMES JONES KING MARTIN MILLER SCOTT SMITH TURNER WARD 14 rows selected.

Upload: yogesh-kulkarni

Post on 27-Apr-2015

312 views

Category:

Documents


0 download

DESCRIPTION

Oracle assignment

TRANSCRIPT

Page 1: ORACLE_ASSIGNMENT_1

O R A C L E A S S I G N M E N T 1 P a g e | 1

WANT TO DOWNLOAD? LOG ON à sites.google.com/site/yogeshkulkarni206

1. DISPLAY NAMES & JOBS OF EMPLOYEES WHO ARE CLERK SQL> SELECT ENAME, JOB FROM EMP WHERE JOB='CLERK'; ENAME JOB ---------- --------- SMITH CLERK ADAMS CLERK JAMES CLERK MILLER CLERK

2. DISPLAY NAMES & DEPARTMENTS WHOSE JOB IS ANALYST OR CLERK SQL> SELECT ENAME, JOB, DEPTNO FROM EMP WHERE JOB IN ('ANALYST','CLERK'); ENAME JOB DEPTNO ---------- --------- ---------- SMITH CLERK 20 SCOTT ANALYST 20 ADAMS CLERK 20 JAMES CLERK 30 FORD ANALYST 20 MILLER CLERK 10 6 rows selected.

3. GIVE LIST OF EMPLOYEES SORTED ON NAME SQL> SELECT ENAME FROM EMP ORDER BY ENAME; ENAME ---------- ADAMS ALLEN BLAKE CLARK FORD JAMES JONES KING MARTIN MILLER SCOTT SMITH TURNER WARD 14 rows selected.

Page 2: ORACLE_ASSIGNMENT_1

O R A C L E A S S I G N M E N T 1 P a g e | 2

WANT TO DOWNLOAD? LOG ON à sites.google.com/site/yogeshkulkarni206

4. DISPLAY DIFFERENT KINDS OF JOBS AVAILABLE SQL> SELECT DISTINCT JOB FROM EMP; JOB --------- ANALYST CLERK MANAGER PRESIDENT SALESMAN

5. DISPLAY NAMES OF EMPLOYEES WHOSE DEPTNO IS 30 SQL> SELECT ENAME FROM EMP WHERE DEPTNO=30; ENAME ---------- ALLEN WARD MARTIN BLAKE TURNER JAMES 6 rows selected.

6. SELECT ALL EMPLOYEES WHOSE NAMES ARE 4 LETTERS LONG SQL> SELECT * FROM EMP WHERE ENAME LIKE '____'; EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO --------- ---------- --------- --------- --------- --------- --------- --------- 7521 WARD SALESMAN 7698 22-FEB-81 1250 500 30 7839 KING PRESIDENT 17-NOV-81 5000 10 7902 FORD ANALYST 7566 03-DEC-81 3000 20

7. SELECT ALL EMPLOYEES WHOSE NAMES ENDS WITH ‘R’ SQL> SELECT * FROM EMP WHERE ENAME LIKE '%R';

EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO --------- ---------- --------- --------- --------- --------- --------- --------- 7844 TURNER SALESMAN 7698 08-SEP-81 1500 0 30 7934 MILLER CLERK 7782 23-JAN-82 1300 10

Page 3: ORACLE_ASSIGNMENT_1

O R A C L E A S S I G N M E N T 1 P a g e | 3

WANT TO DOWNLOAD? LOG ON à sites.google.com/site/yogeshkulkarni206

8. DISPLAY NAME OF DEPT WHOSE DEPTNO<30 SQL> SELECT DNAME, DEPTNO FROM DEPT WHERE DEPTNO<30; DNAME DEPTNO -------------- --------- ACCOUNTING 10 RESEARCH 20

9. DISPLAY JOB, DEPT, NAME OF EMPLOYEEES WHOSE NAME START WITH ‘B’ OR ‘M’

SQL> SELECT JOB, DEPTNO, ENAME FROM EMP WHERE ENAME LIKE 'B%' OR ENAME LIKE 'M%'; JOB DEPTNO ENAME --------- --------- ---------- SALESMAN 30 MARTIN MANAGER 30 BLAKE CLERK 10 MILLER

10. DISPLAY NAME, SALARY, COMMISSION FOR EMPLOYEES WHOSE COMMISSION IS MORE THAN 5% OF THE SALARY SQL> SELECT ENAME, SAL, COMM FROM EMP WHERE COMM>SAL*0.05; ENAME SAL COMM ---------- --------- --------- ALLEN 1600 300 WARD 1250 500 MARTIN 1250 1400

11. GIVE A QUERY TO CONCATENATE EMPNO, ENAME AND MGR SQL> SELECT EMPNO||ENAME||MGR FROM EMP; EMPNO ||ENAME ||MGR ---------------------------------------- 7369SMITH7902 7499ALLEN7698 7521WARD7698 7566JONES7839 7654MARTIN7698 7698BLAKE7839 7782CLARK7839 7788SCOTT7566 7839KING 7844TURNER7698 7876ADAMS7788 7900JAMES7698 7902FORD7566 7934MILLER7782 14 rows selected.

Page 4: ORACLE_ASSIGNMENT_1

O R A C L E A S S I G N M E N T 1 P a g e | 4

WANT TO DOWNLOAD? LOG ON à sites.google.com/site/yogeshkulkarni206

12. LIST ALL THE EMPLOYEES HIRED IN THE MONTH OD DECEMBER SQL> SELECT * FROM EMP WHERE TO_CHAR (HIREDATE,'MON') ='DEC'; EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO --------- ---------- --------- --------- --------- --------- --------- --------- 7369 SMITH CLERK 7902 17-DEC-80 800 20 7900 JAMES CLERK 7698 03-DEC-81 950 30 7902 FORD ANALYST 7566 03-DEC-81 3000 20

13. LIST ALL THE EMPLOYEES HIRED IN 1980 SQL> SELECT * FROM EMP WHERE TO_CHAR (HIREDATE,'YYYY') ='1980'; EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO --------- ---------- --------- --------- --------- --------- --------- --------- 7369 SMITH CLERK 7902 17-DEC-80 800 20

14. RETRIEVE NAMES AND JOBS OF EMPLOYEEES IN DEPT 20; DISPLAY THEM IN ONE COLUMN SEPARATED BY DASH. CAPITALISE ONLY THE FIRST LETTERS OF NAME AND JOB. EACH ROW SHOULD LOOK LIKE Smith-Clerk. SQL> SELECT INITCAP (ENAME||'-'||JOB) FROM EMP WHERE DEPTNO=20; INITCAP (ENAME||'-'||JOB) ---------------------------------- Smith-Clerk Jones-Manager Scott-Analyst Adams-Clerk Ford-Analyst

15. FIND OUT THE PEOPLE WHOSE SALARY IS LESS THAN THE AVERAGE SALARY OF DEPTNO 20 SQL> SELECT ENAME, SAL, DEPTNO FROM EMP WHERE SAL< (SELECT AVG (SAL) FROM EMP WHERE DEPTNO=20); ENAME SAL DEPTNO ---------- --------- --------- SMITH 800 20 ALLEN 1600 30 WARD 1250 30 MARTIN 1250 30 TURNER 1500 30 ADAMS 1100 20 JAMES 950 30 MILLER 1300 10 8 rows selected.

Page 5: ORACLE_ASSIGNMENT_1

O R A C L E A S S I G N M E N T 1 P a g e | 5

WANT TO DOWNLOAD? LOG ON à sites.google.com/site/yogeshkulkarni206

16. DISPLAY INFO ABOUT PEOPLE WHO HAVE NO PEOPLE REPORTING TO THEM SQL> SELECT * FROM EMP WHERE EMPNO NOT IN (SELECT MGR FROM EMP WHERE MGR IS NOT NULL); EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO --------- ---------- --------- --------- ------------- --------- --------- ---------- 7369 SMITH CLERK 7902 17-DEC-80 800 20 7499 ALLEN SALESMAN 7698 20-FEB-81 1600 300 30 7521 WARD SALESMAN 7698 22-FEB-81 1250 500 30 7654 MARTIN SALESMAN 7698 28-SEP-81 1250 1400 30 7844 TURNER SALESMAN 7698 08-SEP-81 1500 0 30 7876 ADAMS CLERK 7788 23-MAY-87 1100 20 7900 JAMES CLERK 7698 03-DEC-81 950 30 7934 MILLER CLERK 7782 23-JAN-82 1300 10 8 rows selected.

17. WHICH EMPLOYEES EARN LESS THAN 50 %OF THE PRESIDENT’S SALARY? SQL> SELECT ENAME, SAL FROM EMP WHERE SAL<

(SELECT SAL *0.5 FROM EMP WHERE JOB='PRESIDENT'); ENAME SAL ---------- ------- SMITH 800 ALLEN 1600 WARD 1250 MARTIN 1250 CLARK 2450 TURNER 1500 ADAMS 1100 JAMES 950 MILLER 1300 9 rows selected.

18. SHOW WHAT LENGTH NAMES ARE APPEAR IN THE EMPLOYEE TABLE ELIMINATE DUPLICATE LENGTHS FROM THE ROWS RETURNED. DO NOT SHOW THE NAMES THEMSELVES.

SQL> SELECT DISTINCT LENGTH (ENAME) FROM EMP; LENGTH (ENAME) --------------------- 4 5 6

Page 6: ORACLE_ASSIGNMENT_1

O R A C L E A S S I G N M E N T 1 P a g e | 6

WANT TO DOWNLOAD? LOG ON à sites.google.com/site/yogeshkulkarni206

19. FIND OUT THE DIFF. BETWEEN MAXIMUM SALARY EARNED BY A PERSON IN DEPT 10 AND THE MIN SALARY EARNED BY A PERSON IN DEPT 30. SQL> SELECT MAX (SAL)-MIN (SAL) FROM EMP WHERE DEPTNO=10 OR DEPTNO=30; MAX (SAL)-MIN (SAL) ----------------------------- 4050

20. FIND OUT DIFF IN DOLLARS BETWEEN THE AVG EARNINGS OF DEPT 30 AND 40. SQL> SELECT AVG (A.SAL)-AVG (B.SAL) FROM EMP A, EMP B WHERE A.DEPTNO=20 AND B.DEPTNO=30; AVG (A.SAL)-AVG (B.SAL) ------------------------------------ 608.33333

21. ADD A RECORD TO DEPT TABLE WITH VALUES (50, EDUCATION, INDIA) SQL> INSERT INTO DEPT VALUES (50,'EDUCATION','INDIA'); 1 row created. SQL> SELECT * FROM DEPT; DEPTNO DNAME LOC ----------- ------------------- --------------- 10 ACCOUNTING NEW YORK 20 RESEARCH DALLAS 30 SALES CHICAGO 40 OPERATIONS BOSTON 50 EDUCATION INDIA

22. LIST NUMBER, NAMES & JOB OF EACH EMPLOYEE AND THE PERSONS MANAGER AND THE MANAGERS JOB SQL> SELECT W.EMPNO, W.ENAME, W.JOB, M.ENAME, M.JOB FROM EMP W, EMP M WHERE W.MGR=M.EMPNO; EMPNO ENAME JOB ENAME JOB ---------- ---------- ---------- ----------- ------------- 7369 SMITH CLERK FORD ANALYST 7499 ALLEN SALESMAN BLAKE MANAGER 7521 WARD SALESMAN BLAKE MANAGER 7566 JONES MANAGER KING PRESIDENT 7654 MARTIN SALESMAN BLAKE MANAGER 7698 BLAKE MANAGER KING PRESIDENT 7782 CLARK MANAGER KING PRESIDENT 7788 SCOTT ANALYST JONES MANAGER 7844 TURNER SALESMAN BLAKE MANAGER 7876 ADAMS CLERK SCOTT ANALYST 7900 JAMES CLERK BLAKE MANAGER

Page 7: ORACLE_ASSIGNMENT_1

O R A C L E A S S I G N M E N T 1 P a g e | 7

WANT TO DOWNLOAD? LOG ON à sites.google.com/site/yogeshkulkarni206

7902 FORD ANALYST JONES MANAGER 7934 MILLER CLERK CLARK MANAGER 13 rows selected.

23. MAKE TABLE CALLED BONUS HAVING FIELDS (NAME, JOB, SALARY) AND STORE RECORD FROM EXISTING EMP TABLE FOR ANALYST & MANAGER ONLY. SQL> CREATE TABLE BONUS1 AS (SELECT ENAME, JOB, SAL FROM EMP WHERE JOB IN ('ANALYST','MANAGER')); Table created. SQL> SELECT * FROM BONUS1;

ENAME JOB SAL ---------- -------------- ------- JONES MANAGER 2975 BLAKE MANAGER 2850 CLARK MANAGER 2450 SCOTT ANALYST 3000 FORD ANALYST 3000

24. DISPLAY INFO ABOUT THE PERSON WHO IS HAVING MAX NO OF PEOPLE REPORTING TO THEM. SQL> SELECT ENAME FROM EMP WHERE EMPNO= (SELECT MGR FROM EMP GROUP BY MGR HAVING COUNT (*) = (SELECT MAX (COUNT (*)) FROM EMP GROUP BY MGR)); ENAME ---------- BLAKE

25. IN ONE QUERY COUNT THE NO OF PEOPLE IN DEPT 30 WHO RECEIVE SALARY AND THE NO OF PEOPLE WHO RECEIVE COMM. SQL> SELECT COUNT (SAL), COUNT (COMM) FROM EMP WHERE DEPTNO=30; COUNT (SAL) COUNT (COMM) ------------------ ----------------------

6 4

26. COMPUTE THE AVG, MIN, MAX, SALARIES OF THOSE GROUPS OF EMPLOYEES HAVING THE JOB CLERK OR MANAGER SQL> SELECT AVG (SAL), MIN (SAL), MAX (SAL) FROM EMP WHERE JOB IN ('CLERK','MANAGER'); AVG (SAL) MIN (SAL) MAX (SAL) --------------- -------------- --------------- 1775 800 2975

Page 8: ORACLE_ASSIGNMENT_1

O R A C L E A S S I G N M E N T 1 P a g e | 8

WANT TO DOWNLOAD? LOG ON à sites.google.com/site/yogeshkulkarni206

27. LIST OF THE PEOPLE WHO WERE HIRED THE EARLIEST AND LATEST SQL> SELECT MAX (HIREDATE), MIN (HIREDATE) FROM EMP; MAX (HIRED MIN (HIRED ----------------- ---------------- 23-MAY-87 17-DEC-80

28. LIST THE NAMES OF PERSONS WHO ARE REPORTING TO BLAKE SQL> SELECT ENAME FROM EMP WHERE MGR= (SELECT EMPNO FROM EMP WHERE ENAME='BLAKE'); ENAME ---------- ALLEN WARD MARTIN TURNER JAMES

29. DISPLAY THE DEPTNO OD DEPT’S WHICH HAVE MORE THAN ONE CLERK. SQL> SELECT DEPTNO FROM EMP WHERE JOB='CLERK' GROUP BY DEPTNO HAVING COUNT (*)>1; DEPTNO ----------- 20

30. WHAT IS THE LENGTH OF LONGEST EMPLOYEE NAME AND BY HOW MANY CHAR’S IS IT LONGER THAN IT IS NEAREST ONE? SQL> SELECT MAX (LENGTH (A.ENAME)), MAX (LENGTH (A.ENAME)) MAX (LENGTH (B.ENAME)) FROM EMP A, EMP B WHERE LENGTH (B.ENAME) NOT IN (SELECT MAX (LENGTH (ENAME)) FROM EMP); MAX (LENGTH (A.ENAME)) MAX (LENGTH (A.ENAME))-MAX (LENGTH (B.ENAME)) ------------------------------------ -------------------------------------------------------------------------- 6 1

31. FIND LOCATIONS OF EMPLOYEES. SQL> SELECT DISTINCT ENAME, LOC FROM EMP, DEPT WHERE EMP.DEPTNO=DEPT.DEPTNO; ENAME LOC ---------- ------------- ADAMS DALLAS ALLEN CHICAGO BLAKE CHICAGO CLARK NEW YORK

Page 9: ORACLE_ASSIGNMENT_1

O R A C L E A S S I G N M E N T 1 P a g e | 9

WANT TO DOWNLOAD? LOG ON à sites.google.com/site/yogeshkulkarni206

FORD DALLAS JAMES CHICAGO JONES DALLAS KING NEW YORK MARTIN CHICAGO MILLER NEW YORK SCOTT DALLAS SMITH DALLAS TURNER CHICAGO WARD CHICAGO 14 rows selected.

32. DISPLAY NAMES, SALARIES OF EMPLOYEES WHO ARE STAYING IN BOSTEN. SQL> SELECT ENAME, SAL FROM EMP WHERE DEPTNO= (SELECT DEPTNO FROM DEPT WHERE LOC='DALLAS'); ENAME SAL ---------- ------- SMITH 800 JONES 2975 SCOTT 3000 ADAMS 1100 FORD 3000

33. DISPLAY THE NAMES OF EMPLOYEES WORKING IN SALES OR RESEARCH DEPT. SQL> SELECT ENAME FROM EMP WHERE DEPTNO IN (SELECT DEPTNO FROM DEPT WHERE DNAME IN('SALES','RESEARCH')); ENAME ---------- SMITH ALLEN WARD JONES MARTIN BLAKE SCOTT TURNER ADAMS JAMES FORD 11 rows selected.

Page 10: ORACLE_ASSIGNMENT_1

O R A C L E A S S I G N M E N T 1 P a g e | 10

WANT TO DOWNLOAD? LOG ON à sites.google.com/site/yogeshkulkarni206

34. FIND OUT THE DEPT IN WHICH MAX EMPLOYEES WORK. SQL> SELECT DEPTNO, COUNT (*) FROM EMP GROUP BY DEPTNO HAVING COUNT (*) = (SELECT MAX (COUNT (*)) FROM EMP GROUP BY DEPTNO); DEPTNO COUNT (*) ----------- -------------

30 6

35. MAKE NESSESARY CHANGES IN THE EMP TABLE IF CLERK REPORTS TO BLAKE INSTEAD OF FORD. SQL> UPDATE EMP SET MGR= (SELECT EMPNO FROM EMP WHERE ENAME='BLAKE') WHERE ENAME='FORD'; 1 row updated.

36. IF A NEW PERSON HENRY JOINS IN PLACE OF TURNER ON 5TH SEP, 1992 WITH EMP NO 7999, MAKE NESSESARY CHANGES IN THE EMP TABLE. SQL> UPDATE EMP SET ENAME='HENRY', HIREDATE='5-SEP-1992', EMPNO=7999 WHERE ENAME='TURNER'; 1 row updated.

37. PROMOTE JAMES TO MANAGER OF DEPT 10 WITH A PAY HIKE OF RS.10,000. SQL> UPDATE EMP SET SAL=SAL+10000 WHERE ENAME='JAMES' AND DEPTNO=10; 1 row updated.

ENAME SAL JOB ---------- ------ --------------- JAMES 29450 MANAGER

38. LIST THE NAMES AND HIRE DATES OF THE EMPLOYEES IN DEPT 20 DISPLAY THE HIREDATE FORMATTED AS 12/03/1984. SQL> SELECT ENAME, TO_CHAR (HIREDATE,'DD/MM/YYYY') FROM EMP WHERE DEPTNO=20; ENAME TO_CHAR (HIREDATE) ---------- ------------------------------ SMITH 17/12/1980 JONES 02/04/1981 SCOTT 19/04/1987 ADAMS 23/05/1987 FORD 03/12/1981

Page 11: ORACLE_ASSIGNMENT_1

O R A C L E A S S I G N M E N T 1 P a g e | 11

WANT TO DOWNLOAD? LOG ON à sites.google.com/site/yogeshkulkarni206

39. FOR HOW MANY MONTHS HAS THE PRESIDENT WORKED FOR THE COMPANY? ROUND TO THE NEAREST WHOLE NO OF MONTHS SQL> SELECT ROUND (MONTHS_BETWEEN (SYSDATE, HIREDATE), 0) FROM EMP WHERE JOB='PRESIDENT'; ROUND (MONTHS_BETWEEN (SYSDATE, HIREDATE), 0) ----------------------------------------------------------------------------- 351

40. FIND THE DAY OF WEEK ON WHICH SMITH JOINED. SQL> SELECT ENAME, HIREDATE, TO_CHAR (HIREDATE,'DAY')

FROM EMP WHERE ENAME='SMITH'; ENAME HIREDATE TO_CHAR (DAY) ---------- --------------- --------------------- SMITH 17-DEC-80 WEDNESDAY

41. FIND OUT THE TIME OF THE DAY (IN HH24, MT, SSSS) ON WHICH FORD JOINED THE COMPANY. SQL> SELECT ENAME, TO_CHAR (HIREDATE,'HH: MI: SSSS’) FROM EMP WHERE ENAME='FORD'; ENAME TO_CHAR (TIME) ---------- ---------------------- FORD 12:00:0000

42. FIND OUT THE DAY OF MONTH (SPELLED OUT, ORDINARY) ON WHICH JAMES JOINED. SQL> SELECT ENAME, HIREDATE, TO_CHAR (HIREDATE,'DDSPTH') FROM EMP WHERE ENAME='JAMES'; ENAME HIREDATE TO_CHAR (HIREDATE) ---------- ---------------- ------------------------------- JAMES 03-DEC-81 THIRD

43. FIND OUT THE MONTH ON WHICH ADAMS JOINED. SQL> SELECT ENAME, HIREDATE, TO_CHAR (HIREDATE,'MONTH') FROM EMP WHERE ENAME='ADAMS'; ENAME HIREDATE TO_CHAR (HIREDATE, MONTH) ---------- --------------- ------------------------------------------- ADAMS 23-MAY-87 MAY

Page 12: ORACLE_ASSIGNMENT_1

O R A C L E A S S I G N M E N T 1 P a g e | 12

WANT TO DOWNLOAD? LOG ON à sites.google.com/site/yogeshkulkarni206

44. FIND WHICH QUARTER OF THE YEAR THE EMPLOYEES JOINED. SQL> SELECT ENAME, HIREDATE, TO_CHAR (HIREDATE,'Q') FROM EMP; ENAME HIREDATE QUARTER ---------- ---------------- -------------- SMITH 17-DEC-80 4 ALLEN 20-FEB-81 1 WARD 22-FEB-81 1 JONES 02-APR-81 2 MARTIN 28-SEP-81 3 BLAKE 01-MAY-81 2 CLARK 09-JUN-81 2 SCOTT 19-APR-87 2 KING 17-NOV-81 4 HENRY 05-SEP-92 3 ADAMS 23-MAY-87 2 JAMES 03-DEC-81 4 FORD 03-DEC-81 4 MILLER 23-JAN-82 1 14 rows selected.

45. FIND OUT THE CENTURY IN WHICH JAMES JOINED. SQL> SELECT ENAME, HIREDATE, TO_CHAR (HIREDATE,'CC') FROM EMP WHERE ENAME='JAMES'; ENAME HIREDATE CENTURY ---------- --------------- ------------- JAMES 03-DEC-81 20

46. RETRIEVE THE ANALYST RECORD WITH THE HIREDATE FORMATTED AS THE 3RD DEC, 1984. SQL> SELECT ENAME, HIREDATE, TO_CHAR (HIREDATE,’DDth MONTH, YYYY’) FROM EMP WHERE JOB='ANALYST'; ENAME HIREDATE TO_CHAR (HIREDATE,'D ---------- ------------- ---------------------------------- SCOTT 19-APR-87 19TH APRIL, 1987 FORD 03-DEC-81 03RD DECEMBER, 1981

Page 13: ORACLE_ASSIGNMENT_1

O R A C L E A S S I G N M E N T 1 P a g e | 13

WANT TO DOWNLOAD? LOG ON à sites.google.com/site/yogeshkulkarni206

47. LIST THE NAMES DEPTS OF ALL EMPLOYEES WHOSE HIREDATE ANIVERSARY DOES NOT EXIST IN THE FIRST QUARTER OF THE MONTH. SQL> SELECT ENAME, HIREDATE, DEPTNO FROM EMP WHERE TO_CHAR (HIREDATE,'Q')! =1; ENAME HIREDATE DEPTNO ---------- -------------- ----------- SMITH 17-DEC-80 20 JONES 02-APR-81 20 MARTIN 28-SEP-81 30 BLAKE 01-MAY-81 30 CLARK 09-JUN-81 10 SCOTT 19-APR-87 20 KING 17-NOV-81 10 HENRY 05-SEP-92 30 ADAMS 23-MAY-87 20 JAMES 03-DEC-81 30 FORD 03-DEC-81 20 11 rows selected.

48. LIST ALL EMPLOYEE NAMES, JOBS AND CLASSIFICATION WHICH YOU WILL SUPPLY. TRANSLATE THE VALUES STORED IN JOB FIELD (CLERK, MANAGER ETC.) TO A JOB CLASSIFICATION NUMBER (1, 2 ETC.). SQL> SELECT ENAME, JOB, (DECODE (JOB,'CLERK', 1,'MANAGER', 2)) "NUMBER" FROM EMP; ENAME JOB NUMBER ---------- --------- ------------- SMITH CLERK 1 ALLEN SALESMAN WARD SALESMAN JONES MANAGER 2 MARTIN SALESMAN BLAKE MANAGER 2 CLARK MANAGER 2 SCOTT ANALYST KING PRESIDENT HENRY SALESMAN ADAMS CLERK 1 JAMES CLERK 1 FORD ANALYST MILLER CLERK 1 14 rows selected.

Page 14: ORACLE_ASSIGNMENT_1

O R A C L E A S S I G N M E N T 1 P a g e | 14

WANT TO DOWNLOAD? LOG ON à sites.google.com/site/yogeshkulkarni206

49. GIVE SQL COMMAND TO FIND THE AVERAGE ANNUAL SALRY PER JOB IN EACH DEPT. THE SALARY FIGURES IN THE EMP TABLE ARE FOR EACH MONTH. SQL> SELECT JOB, AVG (SAL*12), DEPTNO FROM EMP GROUP BY DEPTNO, JOB; JOB AVG (SAL*12) DEPTNO --------- ------------------ ------------ CLERK 15600 10 MANAGER 29400 10 PRESIDENT 60000 10 ANALYST 36000 20 CLERK 11400 20 MANAGER 35700 20 CLERK 11400 30 MANAGER 34200 30 SALESMAN 16800 30 9 rows selected.

50. CALCULATE THE TOTAL COMPENSATION EXPENSES FOR EACH DEPT FOR ONE YEAR. THE SAL AND COMM FIGURES IN THE EMP TABLE ARE FOR EACH MONTH. ASSUME THAT EMPLOYEES, WHO DON’T EARN COMMISSION, RECEIVE NON-MONETARY BENEFITS THAT ARE WORTH $10000 a MONTH. SQL> SELECT DEPTNO, SUM (SAL+NVL (COMM, 0))*12 FROM EMP GROUP BY DEPTNO; DEPTNO SUM (SAL+NVL (COMM, 0))*12 --------- ---------------------------------------- 10 105000 20 130500 30 139200