1. DBMS CYCLE II
CREATE TABLE JOB
(
CODE NUMBER(3) NOT NULL,
NAME VARCHAR2(10) NOT NULL
);
ALTER TABLE JOB ADD PRIMARY KEY (CODE);
CREATE TABLE LOCATION
(
CODE NUMBER(3) NOT NULL,
NAME VARCHAR2(10) NOT NULL
);
ALTER TABLE LOCATION ADD PRIMARY KEY (CODE);
CREATE TABLE DEPT
(
DEPTNO NUMBER(2) NOT NULL,
NAME VARCHAR2(10),
LOCATION NUMBER(3) NOT NULL
);
ALTER TABLE DEPT ADD PRIMARY KEY (DEPTNO);
ALTER TABLE DEPT ADD FOREIGN KEY (LOCATION)
REFERENCES LOCATION (CODE);
CREATE TABLE EMPLOYEE
(
EMPNO NUMBER(4) NOT NULL,
ENAME VARCHAR2(10),
JOB NUMBER(3),
MGR NUMBER(3),
HIREDATE DATE,
SAL NUMBER(8,2),
COMM NUMBER(8,2),
DEPTNO NUMBER(2) NOT NULL
);
ALTER TABLE EMPLOYEE ADD PRIMARY KEY (EMPNO);
ALTER TABLE EMPLOYEE ADD FOREIGN KEY (JOB)
REFERENCES JOB (CODE);
2. ALTER TABLE EMPLOYEE ADD FOREIGN KEY (MGR)
REFERENCES EMPLOYEE (EMPNO);
ALTER TABLE EMPLOYEE ADD FOREIGN KEY (DEPTNO)
REFERENCES DEPT (DEPTNO);
SQL> DESC EMPLOYEE;
Name Type Nullable Default Comments
-------- ------------ -------- ------- --------
EMPNO NUMBER(4)
ENAME VARCHAR2(10) Y
JOB NUMBER(3) Y
MGR NUMBER(3) Y
HIREDATE DATE Y
SAL NUMBER(8,2) Y
COMM NUMBER(8,2) Y
DEPTNO NUMBER(2)
SQL> DESC DEPT;
Name Type Nullable Default Comments
-------- ------------ -------- ------- --------
DEPTNO NUMBER(2)
NAME VARCHAR2(10) Y
LOCATION NUMBER(3)
SQL> DESC JOB;
Name Type Nullable Default Comments
---- ------------ -------- ------- --------
CODE NUMBER(3)
NAME VARCHAR2(10)
SQL> DESC LOCATION;
Name Type Nullable Default Comments
---- ------------ -------- ------- --------
CODE NUMBER(3)
NAME VARCHAR2(10)
SQL> DESC JOB_GRADES;
Name Type Nullable Default Comments
-------- --------- -------- ------- --------
GRADE CHAR(1) Y
LOW_SAL NUMBER(6) Y
HIGH_SAL NUMBER(6) Y
4. SQL> SELECT * FROM JOB ORDER BY CODE;
CODE NAME
---- --------------
1 TRAINEE
2 PRESIDENT
3 ANALYST
4 CLERK
SQL> SELECT * FROM LOCATION ORDER BY CODE;
CODE NAME
---- ---------------
1 VIJAYAWADA
2 KAKINADA
3 TIRUPATHI
4 CHICAGO
SQL> SELECT * FROM JOB_GRADES ORDER BY 1;
GRADE LOW_SAL HIGH_SAL
----- ------- ----------------------------
A 1000 10000
B 10001 60000
C 60001 150000
D 150001 600000
5. EXCERCISE - VI
1. List of departments with at least one ANALYST
SELECT DEPTNO, COUNT(EMPNO) "NO OF ANALYSTS"
FROM EMPLOYEE
WHERE JOB = (SELECT CODE FROM JOB WHERE UPPER(NAME) = 'ANALYST')
GROUP BY DEPTNO HAVING COUNT(EMPNO) >= 1 ORDER BY DEPTNO;
DEPTNO NO OF ANALYSTS
------ -------------------------------
10 4
20 2
30 4
40 5
4 rows selected
2. Locations that have the SALES department
SELECT * FROM LOCATION
WHERE CODE IN (SELECT LOCATION FROM DEPT WHERE UPPER(NAME) =
'SALES');
CODE NAME
---- ---------------
1 VIJAYAWADA
3. Locations that have at least one ANALYST
SELECT L.NAME, COUNT(E.EMPNO) "NO OF ANALYSTS" FROM EMPLOYEE E,
DEPT D, JOB J, LOCATION L WHERE E.DEPTNO = D.DEPTNO
AND D.LOCATION = L.CODE AND E.JOB = J.CODE
GROUP BY L.NAME HAVING COUNT(E.EMPNO) >= 1;
NAME NO OF ANALYSTS
---------- -------------------------------
TIRUPATHI 5
VIJAYAWADA 8
KAKINADA 10
CHICAGO 6
4 rows selected
4. Employees and their department names
SELECT E.EMPNO, E.ENAME, D.DEPTNO, D.NAME
FROM EMPLOYEE E, DEPT D WHERE E.DEPTNO = D.DEPTNO
ORDER BY E.EMPNO;
6. EMPNO ENAME DEPTNO NAME
----- ---------- ------ -----------------------------
101 ASHISH 10 SALES
102 SAGAR 20 RESEARCH
103 WILLIAMS 40 ADMIN
104 GEORGE 40 ADMIN
105 PRADEEP 30 ACCOUNTING
106 SRINIVAS 30 ACCOUNTING
107 KEERTHI 10 SALES
108 CHAWLA 10 SALES
109 SATIBABU 20 RESEARCH
110 SRINIVAS 20 RESEARCH
111 SURYA 10 SALES
112 SHYAM 20 RESEARCH
113 DENNIS 10 SALES
114 SUNIL 10 SALES
115 ANIL 10 SALES
116 SUHAS 20 RESEARCH
117 SURAJ 30 ACCOUNTING
118 LAKSHMI 30 ACCOUNTING
119 KARTHIK 40 ADMIN
120 PULLARAO 40 ADMIN
121 SUSHMA 30 ACCOUNTING
122 ASHA 30 ACCOUNTING
123 SUNNELA 40 ADMIN
124 SPOORTHY 40 ADMIN
125 SUNAINA 10 SALES
126 DURGARAO 40 ADMIN
127 PAVAN 40 ADMIN
128 HEMANTH 40 ADMIN
129 NARESH 40 ADMIN
29 rows selected
5. List the employees who draw more than ‘DENNIS’ (using joins)
SELECT E1.EMPNO, E1.ENAME, E1.SAL FROM EMPLOYEE E1, EMPLOYEE E2
WHERE UPPER(E2.ENAME) = 'DENNIS' AND E1.SAL > E2.SAL;
EMPNO ENAME SAL
----- ---------- ---------------------------
101 ASHISH 220000.00
102 SAGAR 280000.00
103 WILLIAMS 480000.00
104 GEORGE 520000.00
105 PRADEEP 250000.00
106 SRINIVAS 300000.00
111 SURYA 33000.00
112 SHYAM 28000.00
115 ANIL 22000.00
8. 7. Department name of DENNIS.
SELECT E.ENAME, D.NAME FROM EMPLOYEE E, DEPT D
WHERE E.DEPTNO = D.DEPTNO AND UPPER(E.ENAME) = 'DENNIS';
ENAME NAME
---------- ----------------
DENNIS SALES
8. Department name,Job name, and Location name of DENNIS
SELECT E.EMPNO, E.ENAME, D.NAME, L.NAME, J.NAME
FROM EMPLOYEE E, DEPT D, LOCATION L, JOB J
WHERE E.DEPTNO = D.DEPTNO AND E.JOB = J.CODE
AND D.LOCATION = L.CODE AND UPPER(E.ENAME) = 'DENNIS';
EMPNO ENAME NAME NAME NAME
----- ---------- ----------------------------------------------- ---------- ----------
113 DENNIS SALES VIJAYAWADA ANALYST
9. EXCERCISE - VII
1. Employees working in SALES department (using Subquery or joins)
SELECT E.EMPNO, E.ENAME, D.NAME FROM EMPLOYEE E, DEPT D
WHERE E.DEPTNO = D.DEPTNO AND UPPER(D.NAME) = 'SALES'
ORDER BY 1;
EMPNO ENAME NAME
----- ---------- ---------------------
101 ASHISH SALES
107 KEERTHI SALES
108 CHAWLA SALES
111 SURYA SALES
113 DENNIS SALES
114 SUNIL SALES
115 ANIL SALES
125 SUNAINA SALES
8 rows selected
2. List the department names and employees who draw commission less than 1000.
Also display the departments even if no employee exists with the said condition.
SELECT D.NAME, E.ENAME, E.COMM
FROM (SELECT * FROM EMPLOYEE WHERE COMM < 1000) E, DEPT D
WHERE E.DEPTNO(+) = D.DEPTNO
NAME ENAME COMM
---------- ---------- ----------------------------------------
RESEARCH SHYAM 700.00
SALES SURYA 600.00
ACCOUNTING
ADMIN
3. Employees and their locations
SELECT E.EMPNO, E.ENAME, L.CODE, L.NAME
FROM EMPLOYEE E, DEPT D, LOCATION L WHERE E.DEPTNO = D.DEPTNO
AND D.LOCATION = L.CODE ORDER BY 1;
EMPNO ENAME CODE NAME
----- ---------- ---- ----------------------------------------
101 ASHISH 1 VIJAYAWADA
102 SAGAR 3 TIRUPATHI
103 WILLIAMS 2 KAKINADA
104 GEORGE 2 KAKINADA
105 PRADEEP 4 CHICAGO
10. 106 SRINIVAS 4 CHICAGO
107 KEERTHI 1 VIJAYAWADA
108 CHAWLA 1 VIJAYAWADA
109 SATIBABU 3 TIRUPATHI
110 SRINIVAS 3 TIRUPATHI
111 SURYA 1 VIJAYAWADA
112 SHYAM 3 TIRUPATHI
113 DENNIS 1 VIJAYAWADA
114 SUNIL 1 VIJAYAWADA
115 ANIL 1 VIJAYAWADA
116 SUHAS 3 TIRUPATHI
117 SURAJ 4 CHICAGO
118 LAKSHMI 4 CHICAGO
119 KARTHIK 2 KAKINADA
120 PULLARAO 2 KAKINADA
121 SUSHMA 4 CHICAGO
122 ASHA 4 CHICAGO
123 SUNNELA 2 KAKINADA
124 SPOORTHY 2 KAKINADA
125 SUNAINA 1 VIJAYAWADA
126 DURGARAO 2 KAKINADA
127 PAVAN 2 KAKINADA
128 HEMANTH 2 KAKINADA
129 NARESH 2 KAKINADA
29 rows selected
4. All the analysts and their locations
SELECT E.EMPNO, E.ENAME, J.NAME, L.NAME
FROM EMPLOYEE E, DEPT D, LOCATION L, JOB J
WHERE E.DEPTNO = D.DEPTNO AND D.LOCATION = L.CODE
AND E.JOB = J.CODE AND UPPER(J.NAME) = 'ANALYST'
ORDER BY 1;
EMPNO ENAME NAME NAME
----- ---------- ---------- ------------------------------
104 GEORGE ANALYST KAKINADA
105 PRADEEP ANALYST CHICAGO
106 SRINIVAS ANALYST CHICAGO
111 SURYA ANALYST VIJAYAWADA
112 SHYAM ANALYST TIRUPATHI
113 DENNIS ANALYST VIJAYAWADA
114 SUNIL ANALYST VIJAYAWADA
116 SUHAS ANALYST TIRUPATHI
117 SURAJ ANALYST CHICAGO
118 LAKSHMI ANALYST CHICAGO
119 KARTHIK ANALYST KAKINADA
120 PULLARAO ANALYST KAKINADA
11. 125 SUNAINA ANALYST VIJAYAWADA
126 DURGARAO ANALYST KAKINADA
127 PAVAN ANALYST KAKINADA
15 rows selected
5. List the employees who are earning maximum salary in their respective
departments
SELECT EMPNO, ENAME, SAL, DEPTNO FROM EMPLOYEE
WHERE (DEPTNO, SAL) IN
(SELECT DEPTNO, MAX(SAL) FROM EMPLOYEE GROUP BY DEPTNO);
EMPNO ENAME SAL DEPTNO
----- ---------- ---------- -----------------------------
106 SRINIVAS 300000.00 30
104 GEORGE 520000.00 40
102 SAGAR 280000.00 20
101 ASHISH 220000.00 10
6. List employees whose salary exceeds their managers
SELECT OUTER.EMPNO, OUTER.ENAME, OUTER.SAL, OUTER.MGR
FROM EMPLOYEE OUTER WHERE EXISTS
(SELECT 1 FROM EMPLOYEE INNER WHERE INNER.EMPNO = OUTER.MGR
AND INNER.SAL < OUTER.SAL);
EMPNO ENAME SAL MGR
----- ---------- ---------- --------------------------------
108 CHAWLA 1800.00 107
106 SRINIVAS 300000.00 105
105 PRADEEP 250000.00 101
117 SURAJ 25000.00 127
118 LAKSHMI 36000.00 128
7. Employees and their salary grades
SELECT E.EMPNO, E.ENAME, J.GRADE FROM EMPLOYEE E, JOB_GRADES J
WHERE E.SAL BETWEEN J.LOW_SAL AND J.HIGH_SAL;
EMPNO ENAME GRADE
----- ---------- ---------------------------
107 KEERTHI A
108 CHAWLA A
109 SATIBABU B
110 SRINIVAS B
125 SUNAINA B
119 KARTHIK B
12. 114 SUNIL B
124 SPOORTHY B
116 SUHAS B
127 PAVAN B
113 DENNIS B
115 ANIL B
117 SURAJ B
112 SHYAM B
128 HEMANTH B
123 SUNNELA B
129 NARESH B
111 SURYA B
120 PULLARAO B
121 SUSHMA B
118 LAKSHMI B
122 ASHA B
126 DURGARAO B
101 ASHISH D
105 PRADEEP D
102 SAGAR D
106 SRINIVAS D
103 WILLIAMS D
104 GEORGE D
29 rows selected
13. EXCERCISE - VIII
1. List the average annual salary for all the employees
SELECT AVG(SAL) FROM EMPLOYEE;
AVG(SAL)
----------
88906.8965
2. The maximum salary of clerks in the company
SELECT J.NAME, MAX(SAL) "MAXIMUM_SALARY"
FROM EMPLOYEE E, JOB J WHERE E.JOB = J.CODE
AND UPPER(J.NAME) = 'CLERK' GROUP BY J.NAME;
NAME MAXIMUM_SALARY
---------- ---------------------------------
CLERK 37000
3. How many employees are drawing commission?
SELECT COUNT(EMPNO) FROM EMPLOYEE WHERE COMM IS NOT NULL;
COUNT(EMPNO)
--------------------------
15
4. Find all the ANALYSTS with the minimum salary among ANALYSTS
SELECT EMPNO,ENAME,JOB,SAL FROM EMPLOYEE
WHERE (JOB, SAL) = (SELECT JOB, MIN(SAL) FROM EMPLOYEE
WHERE JOB = (SELECT CODE FROM JOB WHERE UPPER(NAME) =
'ANALYST') GROUP BY JOB);
EMPNO ENAME JOB SAL
----- ---------- ---- ----------------------------
125 SUNAINA 3 16000.00
119 KARTHIK 3 16000.00
114 SUNIL 3 16000.00
15. 6. Find all the employees who earn more than the average salary of their respective
departments
SELECT OUTER.EMPNO, OUTER.ENAME, OUTER.SAL, OUTER.DEPTNO
FROM EMPLOYEE
OUTER WHERE OUTER.SAL >
(SELECT AVG(INNER.SAL) FROM EMPLOYEE
INNER WHERE INNER.DEPTNO = OUTER.DEPTNO)
ORDER BY 1;
EMPNO ENAME SAL DEPTNO
----- ---------- ---------- -------------------------
101 ASHISH 220000.00 10
102 SAGAR 280000.00 20
103 WILLIAMS 480000.00 40
104 GEORGE 520000.00 40
105 PRADEEP 250000.00 30
106 SRINIVAS 300000.00 30
7. Find average salary, number of employees and total salary department wise
SELECT DEPTNO, AVG(SAL), COUNT(EMPNO), SUM(SAL)
FROM EMPLOYEE GROUP BY DEPTNO ORDER BY 1;
DEPTNO AVG(SAL) COUNT(EMPNO) SUM(SAL)
------ ---------- ------------ --------------------------------------
10 41287.5 8 330300
20 70400 5 352000
30 114000 6 684000
40 121200 10 1212000
8. Average salary of all analysts, department wise
SELECT DEPTNO, AVG(SAL) FROM EMPLOYEE
WHERE JOB = (SELECT CODE FROM JOB WHERE UPPER(NAME) = 'ANALYST')
GROUP BY DEPTNO ORDER BY 1;
DEPTNO AVG(SAL)
------ ----------
10 21250
20 23000
30 152750
40 125600
16. 9. List the departments with at least two clerks
SELECT DEPTNO, COUNT(EMPNO) "TOTAL_NO_OF_EMPLOYEES"
FROM EMPLOYEE
WHERE JOB = (SELECT CODE FROM JOB WHERE UPPER(NAME) = 'CLERK')
GROUP BY DEPTNO HAVING COUNT(EMPNO) >= 2 ORDER BY 1;
DEPTNO TOTAL_NO_OF_EMPLOYEES
------ ---------------------
20 2
30 2
40 4
10.Number of employees and average salary for each department in each location
SELECT D.DEPTNO, D.NAME, L.CODE, L.NAME, COUNT(E.EMPNO), AVG(E.SAL)
FROM EMPLOYEE E, DEPT D, LOCATION L
WHERE E.DEPTNO = D.DEPTNO
AND D.LOCATION = L.CODE GROUP BY D.DEPTNO, D.NAME, L.CODE,
L.NAME ORDER BY 1;
DEPTNO NAME CODE NAME COUNT(E.EMPNO) AVG(E.SAL)
------ ---------- ---- ---------- -------------- -------------------------------------------------
10 SALES 1 VIJAYAWADA 8 41287.5
20 RESEARCH 3 TIRUPATHI 5 70400
30 ACCOUNTING 4 CHICAGO 6 114000
40 ADMIN 2 KAKINADA 10 121200
17. EXCERCISE - IX
1. Find the number of employees and average salary for each job group in each
department having more than 3 employees in each job group.
SELECT DEPTNO, JOB, COUNT(EMPNO), AVG(SAL) FROM EMPLOYEE
GROUP BY DEPTNO, JOB HAVING COUNT(EMPNO) > 3
ORDER BY 1;
DEPTNO JOB COUNT(EMPNO) AVG(SAL)
------ ---- ------------ ----------------------------------------
10 3 4 21250
30 3 4 152750
40 3 5 125600
40 4 4 26000
2. Find the number of analysts in each department having more than one employee
SELECT DEPTNO, COUNT(EMPNO) "NO_OF_EMPLOYEES" FROM EMPLOYEE
WHERE JOB = (SELECT CODE FROM JOB WHERE UPPER(NAME) = 'ANALYST')
GROUP BY DEPTNO HAVING COUNT(EMPNO) > 0
ORDER BY 1;
DEPTNO NO_OF_EMPLOYEES
------ ---------------
10 4
20 2
30 4
40 5
3. Display the names of employees along with their department names from the
departments having at least three employees
SELECT E.EMPNO, E.ENAME, D.DEPTNO, D.NAME FROM EMPLOYEE E, DEPT D
WHERE E.DEPTNO = D.DEPTNO AND E.DEPTNO IN
(SELECT DEPTNO FROM EMPLOYEE GROUP BY DEPTNO HAVING
COUNT(EMPNO) > 3) ORDER BY 1;
EMPNO ENAME DEPTNO NAME
----- ---------- ------ ------------------------------
101 ASHISH 10 SALES
102 SAGAR 20 RESEARCH
103 WILLIAMS 40 ADMIN
104 GEORGE 40 ADMIN
105 PRADEEP 30 ACCOUNTING
106 SRINIVAS 30 ACCOUNTING
107 KEERTHI 10 SALES
108 CHAWLA 10 SALES
18. 109 SATIBABU 20 RESEARCH
110 SRINIVAS 20 RESEARCH
111 SURYA 10 SALES
112 SHYAM 20 RESEARCH
113 DENNIS 10 SALES
114 SUNIL 10 SALES
115 ANIL 10 SALES
116 SUHAS 20 RESEARCH
117 SURAJ 30 ACCOUNTING
118 LAKSHMI 30 ACCOUNTING
119 KARTHIK 40 ADMIN
120 PULLARAO 40 ADMIN
121 SUSHMA 30 ACCOUNTING
122 ASHA 30 ACCOUNTING
123 SUNNELA 40 ADMIN
124 SPOORTHY 40 ADMIN
125 SUNAINA 10 SALES
126 DURGARAO 40 ADMIN
127 PAVAN 40 ADMIN
128 HEMANTH 40 ADMIN
129 NARESH 40 ADMIN
29 rows selected
4. Name the departments where in you have atleast one employee drawing more than
the average salary of their respective department.
SELECT DEPTNO, NAME FROM DEPT
WHERE DEPTNO IN (SELECT OUTER.DEPTNO FROM EMPLOYEE
OUTER WHERE OUTER.SAL > (SELECT AVG(INNER.SAL)
FROM EMPLOYEE
INNER WHERE INNER.DEPTNO = OUTER.DEPTNO));
DEPTNO NAME
------ --------------------------
10 SALES
20 RESEARCH
30 ACCOUNTING
40 ADMIN
5. Find out all departments with at least one employee
SELECT DEPTNO, NAME FROM DEPT
WHERE DEPTNO IN (SELECT DISTINCT DEPTNO FROM EMPLOYEE);
DEPTNO NAME
19. ------ -----------------------
10 SALES
20 RESEARCH
30 ACCOUNTING
40 ADMIN
6. List of departments with at least one ANALYST
SELECT DEPTNO, NAME FROM DEPT
WHERE DEPTNO IN (SELECT DISTINCT DEPTNO
FROM EMPLOYEE WHERE
JOB = (SELECT CODE FROM JOB WHERE UPPER(NAME) = 'ANALYST'));
DEPTNO NAME
------ ---------------------
10 SALES
20 RESEARCH
30 ACCOUNTING
40 ADMIN
7. Locations that have SALES department
SELECT L.CODE, L.NAME FROM DEPT D, LOCATION L
WHERE D.LOCATION = L.CODE AND UPPER(D.NAME) = 'SALES';
CODE NAME
---- ----------
1 VIJAYAWADA
8.Locations that have at least one ANALYST
SELECT DISTINCT L.CODE, L.NAME
FROM EMPLOYEE E, DEPT D, LOCATION L, JOB J
WHERE E.DEPTNO = D.DEPTNO AND E.JOB = J.CODE
AND D.LOCATION = L.CODE AND UPPER(J.NAME) = 'ANALYST';
CODE NAME
---- ----------
1 VIJAYAWADA
2 KAKINADA
3 TIRUPATHI
4 CHICAGO
20. EXCERCISE – X
1.Employes with department names
SELECT E.EMPNO, E.ENAME, D.DEPTNO, D.NAME FROM EMPLOYEE E, DEPT D
WHERE E.DEPTNO = D.DEPTNO ORDER BY 1;
EMPNO ENAME DEPTNO NAME
----- ---------- ------ ----------------------------
101 ASHISH 10 SALES
102 SAGAR 20 RESEARCH
103 WILLIAMS 40 ADMIN
104 GEORGE 40 ADMIN
105 PRADEEP 30 ACCOUNTING
106 SRINIVAS 30 ACCOUNTING
107 KEERTHI 10 SALES
108 CHAWLA 10 SALES
109 SATIBABU 20 RESEARCH
110 SRINIVAS 20 RESEARCH
111 SURYA 10 SALES
112 SHYAM 20 RESEARCH
113 DENNIS 10 SALES
114 SUNIL 10 SALES
115 ANIL 10 SALES
116 SUHAS 20 RESEARCH
117 SURAJ 30 ACCOUNTING
118 LAKSHMI 30 ACCOUNTING
119 KARTHIK 40 ADMIN
120 PULLARAO 40 ADMIN
121 SUSHMA 30 ACCOUNTING
122 ASHA 30 ACCOUNTING
123 SUNNELA 40 ADMIN
124 SPOORTHY 40 ADMIN
125 SUNAINA 10 SALES
126 DURGARAO 40 ADMIN
127 PAVAN 40 ADMIN
128 HEMANTH 40 ADMIN
129 NARESH 40 ADMIN
29 rows selected
2.Employees and their job function
SELECT E.EMPNO, E.ENAME, E.JOB, J.NAME
FROM EMPLOYEE E, JOB J WHERE E.JOB = J.CODE ORDER BY 1;
EMPNO ENAME JOB NAME
----- ---------- ---- --------------------------------
101 ASHISH 1 TRAINEE
102 SAGAR 1 TRAINEE
21. 103 WILLIAMS 2 PRESIDENT
104 GEORGE 3 ANALYST
105 PRADEEP 3 ANALYST
106 SRINIVAS 3 ANALYST
107 KEERTHI 1 TRAINEE
108 CHAWLA 1 TRAINEE
109 SATIBABU 4 CLERK
110 SRINIVAS 4 CLERK
111 SURYA 3 ANALYST
112 SHYAM 3 ANALYST
113 DENNIS 3 ANALYST
114 SUNIL 3 ANALYST
115 ANIL 4 CLERK
116 SUHAS 3 ANALYST
117 SURAJ 3 ANALYST
118 LAKSHMI 3 ANALYST
119 KARTHIK 3 ANALYST
120 PULLARAO 3 ANALYST
121 SUSHMA 4 CLERK
122 ASHA 4 CLERK
123 SUNNELA 4 CLERK
124 SPOORTHY 4 CLERK
125 SUNAINA 3 ANALYST
126 DURGARAO 3 ANALYST
127 PAVAN 3 ANALYST
128 HEMANTH 4 CLERK
129 NARESH 4 CLERK
29 rows selected
3.Deparment name of the Dennis
SELECT DEPTNO, NAME FROM DEPT
WHERE DEPTNO = (SELECT DEPTNO FROM EMPLOYEE WHERE
UPPER(ENAME) = 'DENNIS');
DEPTNO NAME
------ --------------------------
10 SALES
4.Location,Department name,job name of Dennis
SELECT E.ENAME, D.NAME, L.NAME, J.NAME
FROM EMPLOYEE E, DEPT D, JOB J, LOCATION L
WHERE E.DEPTNO = D.DEPTNO AND D.LOCATION = L.CODE
AND E.JOB = J.CODE AND UPPER(E.ENAME) = 'DENNIS';
22. ENAME NAME NAME NAME
---------- ---------- ---------- -------------------------------
DENNIS SALES VIJAYAWADA ANALYST
5.Employees working in sales department
SELECT E.EMPNO,E.ENAME,D.NAME FROM EMPLOYEE E,DEPT D
WHERE E.DEPTNO=D.DEPTNO AND D.NAME='SALES' ORDER BY 1;
EMPNO ENAME NAME
----- ---------- --------------------------
101 ASHISH SALES
107 KEERTHI SALES
108 CHAWLA SALES
111 SURYA SALES
113 DENNIS SALES
114 SUNIL SALES
115 ANIL SALES
125 SUNAINA SALES
6.Employees and their locations
SELECT E.EMPNO, E.ENAME, L.CODE, L.NAME
FROM EMPLOYEE E, DEPT D, LOCATION L
WHERE E.DEPTNO = D.DEPTNO AND D.LOCATION = L.CODE
ORDER BY 1;
EMPNO ENAME CODE NAME
----- ---------- ---- ---------------------------------------
101 ASHISH 1 VIJAYAWADA
102 SAGAR 3 TIRUPATHI
103 WILLIAMS 2 KAKINADA
104 GEORGE 2 KAKINADA
105 PRADEEP 4 CHICAGO
106 SRINIVAS 4 CHICAGO
107 KEERTHI 1 VIJAYAWADA
108 CHAWLA 1 VIJAYAWADA
109 SATIBABU 3 TIRUPATHI
110 SRINIVAS 3 TIRUPATHI
111 SURYA 1 VIJAYAWADA
112 SHYAM 3 TIRUPATHI
113 DENNIS 1 VIJAYAWADA
114 SUNIL 1 VIJAYAWADA
115 ANIL 1 VIJAYAWADA
116 SUHAS 3 TIRUPATHI
117 SURAJ 4 CHICAGO
118 LAKSHMI 4 CHICAGO
119 KARTHIK 2 KAKINADA
120 PULLARAO 2 KAKINADA
121 SUSHMA 4 CHICAGO
23. 122 ASHA 4 CHICAGO
123 SUNNELA 2 KAKINADA
124 SPOORTHY 2 KAKINADA
125 SUNAINA 1 VIJAYAWADA
126 DURGARAO 2 KAKINADA
127 PAVAN 2 KAKINADA
128 HEMANTH 2 KAKINADA
129 NARESH 2 KAKINADA
29 rows selected
7.All the ANALYSTS and their locations
SELECT E.EMPNO, E.ENAME, L.CODE, L.NAME
FROM EMPLOYEE E, DEPT D, LOCATION L
WHERE E.DEPTNO = D.DEPTNO AND D.LOCATION = L.CODE
AND E.JOB = (SELECT CODE FROM JOB WHERE UPPER(NAME) = 'ANALYST')
ORDER BY 1;
EMPNO ENAME CODE NAME
----- ---------- ---- --------------------------------
104 GEORGE 2 KAKINADA
105 PRADEEP 4 CHICAGO
106 SRINIVAS 4 CHICAGO
111 SURYA 1 VIJAYAWADA
112 SHYAM 3 TIRUPATHI
113 DENNIS 1 VIJAYAWADA
114 SUNIL 1 VIJAYAWADA
116 SUHAS 3 TIRUPATHI
117 SURAJ 4 CHICAGO
118 LAKSHMI 4 CHICAGO
119 KARTHIK 2 KAKINADA
120 PULLARAO 2 KAKINADA
125 SUNAINA 1 VIJAYAWADA
126 DURGARAO 2 KAKINADA
127 PAVAN 2 KAKINADA
15 rows selected
8.List of all employees earn maximum salary in thier respective departments
SELECT D.DEPTNO,D.NAME,E.EMPNO, E.ENAME, E.SAL
FROM EMPLOYEE E,DEPT D
WHERE (D.DEPTNO, E.SAL) IN
24. (SELECT DEPTNO, MAX(SAL) FROM EMPLOYEE GROUP BY DEPTNO);
DEPTNO NAME EMPNO ENAME SAL
------ ---------- ----- ---------- -----------------------------------------
10 SALES 101 ASHISH 220000.00
20 RESEARCH 102 SAGAR 280000.00
30 ACCOUNTING 106 SRINIVAS 300000.00
40 ADMIN 104 GEORGE 520000.00
9.List of employees who's salary exceeds their managers.
SELECT OUTER.EMPNO, OUTER.ENAME, OUTER.SAL
FROM EMPLOYEE
OUTER WHERE EXISTS (SELECT 1
FROM EMPLOYEE
INNER WHERE INNER.EMPNO = OUTER.MGR
AND INNER.SAL < OUTER.SAL) ORDER BY 1;
EMPNO ENAME SAL
----- ---------- --------------------------------
105 PRADEEP 250000.00
106 SRINIVAS 300000.00
108 CHAWLA 1800.00
117 SURAJ 25000.00
118 LAKSHMI 36000.00