Professional Documents
Culture Documents
MGR HIREDATE
SAL
GRADE
LOC
---------- --------- ---------- ---------- ----7698
CHICAGO
7839
CHICAGO
7839
NEW YORK
7566
DALLAS
7839
DALLAS
NEW YORK
7698
CHICAGO
7566
DALLAS
7698
CHICAGO
7698
CHICAGO
20-FEB-81
1600
01-MAY-81
2850
09-JUN-81
2450
03-DEC-81
3000
02-APR-81
2975
17-NOV-81
5000
28-SEP-81
1250
09-DEC-82
3000
08-SEP-81
1500
22-FEB-81
1250
10 rows selected.
________________________________________________________________________________
_____________
#3.
List employee with grade 3 or 4
SELECT E.EMPNO,E.ENAME,E.JOB,E.MGR,E.HIREDATE,E.SAL,G.GRADE,E.COMM,E.DEPTNO
FROM EMP E INNER JOIN (SELECT * FROM SALGRADE WHERE GRADE=3 OR GRADE=4) G
ON E.SAL BETWEEN G.LOSAL AND G.HISAL;
EMPNO ENAME
COMM
DEPTNO
---------- -------------- ---------7499 ALLEN
300
30
7844 TURNER
0
30
7566 JONES
20
7698 BLAKE
30
7782 CLARK
10
7788 SCOTT
20
7902 FORD
20
JOB
MGR HIREDATE
SAL
GRADE
7698 20-FEB-81
1600
SALESMAN
7698 08-SEP-81
1500
MANAGER
7839 02-APR-81
2975
MANAGER
7839 01-MAY-81
2850
MANAGER
7839 09-JUN-81
2450
ANALYST
7566 09-DEC-82
3000
ANALYST
7566 03-DEC-81
3000
7 rows selected.
________________________________________________________________________________
_____________
#4.
List employees located in dallas.
SELECT E.EMPNO,E.ENAME,E.JOB,E.MGR,E.HIREDATE,E.SAL,E.COMM,D.DEPTNO,D.DNAME,D.LO
C
FROM EMP E INNER JOIN (SELECT * FROM DEPT WHERE LOC='DALLAS') D
ON E.DEPTNO=D.DEPTNO;
EMPNO ENAME
JOB
MGR HIREDATE
SAL
COMM
D
EPTNO DNAME
LOC
---------- ---------- --------- ---------- --------- ---------- ---------- --------- -------------7369 SMITH
CLERK
7902 17-DEC-80
800
20 RESEARCH
DALLAS
7876 ADAMS
CLERK
7788 12-JAN-83
1100
20 RESEARCH
DALLAS
7902 FORD
ANALYST
7566 03-DEC-81
3000
20 RESEARCH
DALLAS
7788 SCOTT
ANALYST
7566 09-DEC-82
3000
20 RESEARCH
DALLAS
7566 JONES
MANAGER
7839 02-APR-81
2975
20 RESEARCH
DALLAS
________________________________________________________________________________
_____________
#5.
List ename, job, sal, grade, dname with annual renumeration greater than
36000
or any clerks.
SELECT E.ENAME,E.JOB,E.SAL,G.GRADE,E.COMM,D.DNAME,E.SAL*12+DECODE(E.COMM,NULL,0,
E.COMM) ANNUAL
FROM EMP E INNER JOIN DEPT D
ON E.DEPTNO=D.DEPTNO
INNER JOIN SALGRADE G
ON E.SAL BETWEEN G.LOSAL AND G.HISAL
WHERE E.JOB='CLERK' OR E.SAL*12+DECODE(E.COMM,NULL,0,E.COMM) > 36000;
ENAME
JOB
SAL
GRADE
COMM DNAME
ANNUAL
---------- --------- ---------- ---------- ---------- -------------- ---------MILLER
CLERK
1300
2
ACCOUNTING
15600
KING
PRESIDENT
5000
5
ACCOUNTING
60000
SMITH
CLERK
800
1
RESEARCH
9600
ADAMS
CLERK
1100
1
RESEARCH
13200
JAMES
CLERK
950
1
SALES
11400
________________________________________________________________________________
_____________
#6.
List employee and department details for department 30 and 40.
SELECT E.EMPNO,E.ENAME,E.JOB,E.MGR,E.HIREDATE,E.SAL,E.COMM,D.DEPTNO,D.DNAME,D.LO
C
FROM (SELECT * FROM EMP WHERE DEPTNO=30 OR DEPTNO=40) E INNER JOIN (SELECT * FRO
M DEPT WHERE DEPTNO=30 OR DEPTNO=40) D
ON E.DEPTNO=D.DEPTNO;
EMPNO ENAME
JOB
MGR HIREDATE
SAL
COMM
D
EPTNO DNAME
LOC
---------- ---------- --------- ---------- --------- ---------- ---------- --------- -------------7499 ALLEN
SALESMAN
7698 20-FEB-81
1600
300
30 SALES
CHICAGO
7521 WARD
SALESMAN
7698 22-FEB-81
1250
500
30 SALES
CHICAGO
7654 MARTIN
SALESMAN
7698 28-SEP-81
1250
1400
30 SALES
CHICAGO
7698 BLAKE
MANAGER
7839 01-MAY-81
2850
30 SALES
CHICAGO
7844 TURNER
SALESMAN
7698 08-SEP-81
1500
0
30 SALES
CHICAGO
7900 JAMES
CLERK
7698 03-DEC-81
950
30 SALES
CHICAGO
6 rows selected.
________________________________________________________________________________
_____________
#7.
List all employees who earn less than their managers. List their manager
s details also.
SELECT E.EMPNO,E.ENAME,E.JOB,E.SAL,E.MGR,M.ENAME MGR_NAME,M.JOB MGR_JOB,M.SAL MG
R_SAL
FROM EMP E INNER JOIN EMP M
ON E.MGR=M.EMPNO AND E.SAL<M.SAL;
EMPNO
R_SAL
-------------7499
2850
7521
2850
7900
2850
7844
2850
7654
2850
7934
ENAME
JOB
SAL
MGR MGR_NAME
MGR_JOB
MG
SALESMAN
1600
7698 BLAKE
MANAGER
WARD
SALESMAN
1250
7698 BLAKE
MANAGER
JAMES
CLERK
950
7698 BLAKE
MANAGER
TURNER
SALESMAN
1500
7698 BLAKE
MANAGER
MARTIN
SALESMAN
1250
7698 BLAKE
MANAGER
MILLER
CLERK
1300
7782 CLARK
MANAGER
2450
7876 ADAMS
CLERK
1100
7788 SCOTT
ANALYST
7566 JONES
MANAGER
2975
7839 KING
PRESIDENT
7782 CLARK
MANAGER
2450
7839 KING
PRESIDENT
7698 BLAKE
MANAGER
2850
7839 KING
PRESIDENT
7369 SMITH
CLERK
800
7902 FORD
ANALYST
3000
5000
5000
5000
3000
11 rows selected.
________________________________________________________________________________
_____________
#8.
Find the job that was filled in first half of 1981
and the same job that was filled during second half of 1981
SELECT DISTINCT FH.JOB
FROM EMP FH INNER JOIN EMP SH
ON FH.HIREDATE <= TO_DATE('30-06-1981','DD-MM-YYYY') AND SH.HIREDATE > TO_DATE('
30-06-1981','DD-MM-YYYY');
JOB
--------CLERK
MANAGER
SALESMAN
________________________________________________________________________________
_____________
#9.
Find all employees who joined the company before their manager
SELECT E.EMPNO,E.ENAME,E.JOB,E.HIREDATE,E.MGR,M.ENAME MGR_NAME,M.HIREDATE MGR_HI
REDATE,M.JOB MGR_JOB
FROM EMP E INNER JOIN EMP M
ON E.MGR=M.EMPNO AND E.HIREDATE<M.HIREDATE;
EMPNO
B
-----------7499
R
7521
R
7566
ENT
7782
ENT
7698
ENT
7369
T
ENAME
JOB
HIREDATE
MGR MGR_NAME
MGR_HIRED MGR_JO
SALESMAN 20-FEB-81
7698 BLAKE
01-MAY-81 MANAGE
WARD
SALESMAN 22-FEB-81
7698 BLAKE
01-MAY-81 MANAGE
JONES
MANAGER
02-APR-81
7839 KING
17-NOV-81 PRESID
CLARK
MANAGER
09-JUN-81
7839 KING
17-NOV-81 PRESID
BLAKE
MANAGER
01-MAY-81
7839 KING
17-NOV-81 PRESID
SMITH
CLERK
17-DEC-80
7902 FORD
03-DEC-81 ANALYS
6 rows selected.
_________________________________________SUB-QUERIES____________________________
_____________
#10.List employees who are directly reporting to KING
SCOTT
3000
KING
5000
FORD
3000
________________________________________________________________________________
_____________
#15.In which year did most people join the company. Display the year and no of e
mployees
SELECT *
FROM (SELECT TO_CHAR(HIREDATE,'YYYY') YEAR, COUNT(1) NO_OF_EMP FROM EMP
GROUP BY TO_CHAR(HIREDATE,'YYYY') ORDER BY NO_OF_EMP DESC)
WHERE ROWNUM=1;
YEAR NO_OF_EMP
---- ---------1981
10
________________________________________________________________________________
_____________
#16.Display the department details in which most employees are working.
SELECT *
FROM DEPT
WHERE DEPTNO=(SELECT DEPTNO FROM (SELECT DEPTNO,COUNT(1) NO_OF_EMP FROM EMP
GROUP BY DEPTNO ORDER BY NO_OF_EMP DESC) WHERE R
OWNUM=1);
DEPTNO DNAME
LOC
---------- -------------- ------------30 SALES
CHICAGO
________________________________________________________________________________
_____________
#17.Display the employee details under whom most employees are working.
SELECT *
FROM EMP
WHERE EMPNO=(SELECT MGR FROM (SELECT MGR,COUNT(1) NO_OF_EMP FROM EMP
GROUP BY MGR ORDER BY NO_OF_EMP DESC) WHERE ROWN
UM=1);
EMPNO ENAME
JOB
MGR HIREDATE
SAL
COMM
D
EPTNO
---------- ---------- --------- ---------- --------- ---------- ---------- --------7698 BLAKE
MANAGER
7839 01-MAY-81
2850
30
________________________________________VIEWS___________________________________
_____________
#18.Create a view which return department details
and all aggregate of each department in HR schema.
CREATE OR REPLACE VIEW AGGDEPT
AS
SELECT D.DEPTNO,DNAME,LOC,NO_OF_EMP,SUM_SAL,MAX_SAL,AVG_SAL,MIN_SAL
FROM DEPT D LEFT JOIN (SELECT DEPTNO,COUNT(1) NO_OF_EMP,SUM(SAL) SUM_SAL,
MAX(SAL) MAX_SAL,AVG(SAL
) AVG_SAL,MIN(SAL) MIN_SAL
FROM EMP GROUP BY DEPTNO) E
ON E.DEPTNO=D.DEPTNO;
View created.
SQL> SELECT * FROM AGGDEPT;
DEPTNO DNAME
SAL
MIN_SAL
---------- ---------------- ---------10 ACCOUNTING
667
1300
20 RESEARCH
175
800
30 SALES
667
950
40 OPERATIONS
LOC
NO_OF_EMP
SUM_SAL
MAX_SAL
AVG_
8750
DALLAS
10875
CHICAGO
9400
5000 2916.66
3000
2850 1566.66
BOSTON
________________________________________________________________________________
_____________
#19.Create a view which returns details of employees, departments
and respective locations for all the employees with employee_id < 100.
2
3
4
5
View created.
SQL> SELECT * FROM EMP_DEPT_DETAILS;
no rows selected