You are on page 1of 8

DATABASE SYSTEM

BSIT F19 (Afternoon)


LAB 08
Instructions:
• You must complete all tasks individually. Absolutely NO collaboration is
allowed.
• Any traces of plagiarism/cheating would result in an “F” grade in this course.
• Late submissions will NOT be accepted, in any case.

Submission Procedure:
 You are required to submit PDF file.
 The file should contain the question, the query and the screen short of output
after running the query.
 You have to submit your lab file on following email: dbsit19aft@gmail.com
 The subject of the email should be RollNumber_LabNumber. e.g.
BITF19A123_Lab01

Note: Use following tables for your lab tasks.

 EMP (EMPNO, ENAME, JOB, SAL, HIREDATE, COMM, MGR, DEPTNO)


 DEPT (DEPTNO, DNAME, LOC)
 SALGRADE(GRADE,LOSAL,HISAL)
 Dual

TASK 1

WRITE A QUERY TO DISPLAY DATA OF ALL THE EMPLOYEES WHO WERE


HIRED BEFORE KING.

ANS:
SELECT *
FROM emp
WHERE hiredate < (SELECT hiredate FROM emp WHERE ename='KING')
TASK 2
FIND THE SALARIES OF THOSE EMPLOYEES WHO EARN MORE THEN JONES'.
ANS:
SELECT *
FROM emp
where sal >
(select sal
from emp
where empno=7566)

TASK 3
DISPLAY EMPLOYEE HAVING MINIMUM SALARY WITH HIS NAME.
ANS:
SELECT *
FROM emp
WHERE sal =
(select min(sal) from emp)

TASK 4
FIND ALL EMPLOYEES WHO HAVE THE SAME JOB AS BLAKE.
ANS:
SELECT *
FROM emp
WHERE job = (SELECT job FROM emp WHERE ename='BLAKE')

TASK 5
FIND ALL EMPLOYEES WHO EARN MORE THAN THE AVERAGE SALARY OF
EMPLOYEES IN THEIR OWN DEPARTMENT AND SORT BY DEPARTMENT NO.X

ANS:

SELECT ename, deptno, sal


FROM emp
WHERE sal < (SELECT AVG(sal) FROM emp)
ORDER BY deptno

TASK 6
FIND ALL EMPLOYEES WHO EARN MORE THAN ANY EMPLOYEE IN DEPARTMENT 30.
ANS:
SELECT ename, sal, deptno
FROM emp
WHERE sal =
(SELECT MAX(sal) from emp where deptno=30)
TASK 7
FIND THE JOB WHICH HAS THE HIGHEST AVERAGE SALARY.
ANS:
SELECT *
FROM emp
WHERE sal =
(SELECT MAX(AVG(sal))
FROM emp
GROUP BY job)

TASK 8
FIND ALL JOBS WITH EITHER THE SAME JOB AS 'JONES' OR SALARY GREATER
THAN OR EQUAL TO FORD, ORDER BY JOB AND SALARY

ANS:
SELECT job
FROM emp
WHERE ename='JONES'
OR sal >=
(SELECT sal
FROM emp
WHERE ename = 'FORD')
ORDER BY job, sal
TASK 8
FIND AVERAGE AND SUM OF THE SALARIES OF EACH JOB EXCLUDING THE JOB OF
BLAKE.

ANS:
SELECT job, AVG(sal) as "Average salary", SUM(sal) as "Sum of Salary"
FROM emp
WHERE job <>
(SELECT job
FROM emp
WHERE ename = 'BLAKE')
GROUP BY job;

TASK 9
DISPLAY MAXIMUM SALARY FROM EMPLOYEE TABLE. NOW DECREASE MAXIMUM
SALARY BY 10% AND DISPLAY IT.
ANS:
SELECT MAX(sal) as "Maximum Salary", MAX(sal)-MAX(sal)*10/100 as "Decreased Salary"
FROM emp

TASK 10

DISPLAY THE NAME OF OLDEST AND LATEST HIRED EMPLOYEE.

ANS:
SELECT ename
FROM emp
WHERE hiredate = (SELECT MAX (hiredate) FROM emp)
OR
hiredate = (SELECT MIN(hiredate) FROM emp)
TASK 11

DISPLAY AVERAGE SALARY OF ALL THE EMPLOYEES ACCORDING TO THEIR


JOBS AND DEPARTMENTS.ALSO DISPLAY JOBS AND DEPARTMENT.

ANS:
SELECT AVG (SAL) as "Average Salary", deptno, job
FROM emp
GROUP BY job, deptno

TASK 12

FIND TOTAL SALARY OF ALL THE EMPLOYEES WORKING IN SAME


DEPARTMENT.DISPLAY TOTAL SALARY ALONG WITH DEPARTMENT
NUMBERS.SORT DATA ACCORDING TO DEPTNO.

ANS:
SELECT SUM(sal) as "Sum of Salaries", SUM(deptno) as "Sum of departments"
from emp
GROUP BY deptno
ORDER BY deptno
TASK 13

COUNT NUMBER OF ROWS OF DEPARTMENT TABLE.

ANS:
SELECT COUNT(*) as "Rows"
from dept

TASK 14

DISPLAY MAXIMUM SALARIES FROM ALL THE JOBS.ALSO DISPLAY JOBS.BUT


MAXIMUM SALARY SHOULD BE GREATER THAN 2000.

ANS:

TASK 15

FIND MAXIMUM FROM AVERAGE SALARY OF ALL THE JOBS AND DISPLAY
THEM.

ANS:
SELECT MAX(AVG(sal)) as "OUTPUT"
FROM emp
GROUP BY job
GOOD LUCK 😊

You might also like