Sunteți pe pagina 1din 14

ORACLE ASSIGNMENT 1 Page |1

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.

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


ORACLE ASSIGNMENT 1 Page |2

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

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


ORACLE ASSIGNMENT 1 Page |3

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.
WANT TO DOWNLOAD? LOG ON à sites.google.com/site/yogeshkulkarni206
ORACLE ASSIGNMENT 1 Page |4

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.

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


ORACLE ASSIGNMENT 1 Page |5

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

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


ORACLE ASSIGNMENT 1 Page |6

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
WANT TO DOWNLOAD? LOG ON à sites.google.com/site/yogeshkulkarni206
ORACLE ASSIGNMENT 1 Page |7

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
WANT TO DOWNLOAD? LOG ON à sites.google.com/site/yogeshkulkarni206
ORACLE ASSIGNMENT 1 Page |8

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
WANT TO DOWNLOAD? LOG ON à sites.google.com/site/yogeshkulkarni206
ORACLE ASSIGNMENT 1 Page |9

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.

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


ORACLE ASSIGNMENT 1 P a g e | 10

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

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


ORACLE ASSIGNMENT 1 P a g e | 11

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

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


ORACLE ASSIGNMENT 1 P a g e | 12

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

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


ORACLE ASSIGNMENT 1 P a g e | 13

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.

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


ORACLE ASSIGNMENT 1 P a g e | 14

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

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

S-ar putea să vă placă și