Subquery Practice

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 15

Sub-query Practice:

1.DISPLAY ALL THE EMPLOYEES WHOSE DEPARTMENT NAMES ENDING


'S'
SELECT ENAME
FROM EMP
WHERE DEPTNO IN(SELECT DEPTNO
FROM DEPT
WHERE DNAME LIKE ‘%S’);
2.QUERY TO DISPLAY THE EMPLOYEE NAMES WHO IS HAVING
MAXIMUM SALARY IN DEPT NAME "ACCOUNTING"
SELECT ENAME
FROM EMP
WHERE SAL IN(SELECT MAX(SAL)
FROM EMP
WHERE DEPTNO IN(SELECT DEPTNO
FROM DEPT
WHERE DNAME=’ACCOUNTING’);
3. QUERY TO DISPLAY ALL THE EMPLOYEES WHO’S DEPT NUMBER IS
SAME AS SCOTT.
SELECT ENAME
FROM EMP
WHERE DEPTNO IN(SELECT DEPTNO
FROM EMP
WHERE ENAME=’SCOTT’);
4.QUERY TO DISPLAY ALL THE EMPLOYEES IN 'OPERATIONS AND
ACCOUNTING' DEPT.
SELECT ENAME
FROM EMP
WHERE DEPTNO IN(SELECT DEPTNO
FROM DEPT
WHERE DNAME IN(‘OPERATIONS’,’ACCOUNTING’));
5.LIST THE EMPLOYEES WHO HAS SALARY GREATER THAN MILLER
SELECT ENAME
FROM EMP
WHERE SAL>(SELECT SAL
FROM EMP
WHERE ENAME=’MILLER’);
6. LIST DEPARTMENT NAME HAVING ATLEAST 3 SALESMAN
SELECT DNAME
FROM DEPT
WHERE DEPTNO IN(SELECT DEPTNO
FROM EMP
WHERE JOB=’SALESMAN’
GROUP BY DEPTNO
HAVING COUNT(*)>=3);
7. LIST ALL THE EMPLOYEES WHO ARE REPORTING TO JONES
MANAGER
SELECT ENAME
FROM EMP
WHERE MGR=(SELECT MGR
FROM EMP
WHERE ENAME=’JONES’);
8. LIST EMPLOYEES FROM RESEARCH&ACCOUNTING HAVING AT
LEAST 2 REPORTING MANAGER.
SELECT ENAME
FROM EMP
WHERE DEPTNO IN(SELECT DEPTNO
FROM DEPT
WHERE DNAME IN(‘RESEARCH’,’ACCOUNTING’) AND EMPNO
IN(SELECT MGR
FROM EMP
GROUP BY MGR
HAVING COUNT(*)>=2));
9. DISPLAY THE DEPARTMENT NAME OF THE EMPLOYEE WHOSE NAME
DOES NOT STARTS WITH S AND SALARY BETWEEN 1500 TO 3000.
SELECT DNAME
FROM DEPT
WHERE DEPTNO IN(SELECT DEPTNO
FROM EMP
WHERE ENAME NOT LIKE’S%’ AND SAL BETWEEN 1500 AND 3000);
10.DISPLAY LOCATION OF EMPLOYEE WHOSE SALARY IS MINIMUM
SALARY BUT SALARY IS GREATER THAN 2000
SELECT LOC
FROM DEPT
WHERE DEPTNO IN(SELECT DEPTNO
FROM EMP
WHERE SAL IN(SELECT MIN(SAL)
FROM EMP
WHERE SAL>2000));
11. DISPLAY THE LOCATION OF AN EMPLOYEE IN ACCOUNTING
DEPARTMENT.
SELECT LOC
FROM DEPT
WHERE DEPTNO IN (SELECT DEPTNO
FROM EMP
WHERE DEPTNO IN (SELECT DEPTNO
FROM DEPT
WHERE DNAME=’ACCOUNTING’);
12. DISPLAY THE DEPARTMENT LOCATION THAT IS HAVING GREATER
THAN FOUR EMPLOYEES IN IT.
SELECT LOC
FROM DEPT
WHERE DEPTNO IN(SELECT DEPTNO
FROM EMP
GROUP BY DEPTNO
HAVING COUNT(*)>4);
14. WRITE A QUERY TO DISPLAY ALL THE EMPLOYEE WHOSE JOB NOT
SAME AS ALLEN AND SALARY IS GREATER THAN MARTIN.
SELECT ENAME
FROM EMP
WHERE JOB NOT IN(SELECT JOB
FROM EMP
WHERE ENAME =’ALLEN’) AND SAL>( SELECT SAL
FROM EMP
WHERE ENAME=’MARTIN’));
15. DISPLAY ALL THE EMPLOYEES WHO IS HAVING LOCATION IS SAME
AS ADAM'S MANAGER?
SELECT ENAME
FROM EMP
WHERE DEPTNO IN (SELECT DEPTNO
FROM DEPT
WHERE LOC IN (SELECT LOC
FROM DEPT
WHERE DEPTNO IN (SELECT DEPTNO
FROM EMP
WHERE EMPNO IN (SELECT MGR
FROM EMP
WHERE ENAME='ADAMS'))))
16. DISPLAY THE JOB, MANAGER NUMBER OF EMPLOYEES WHO IS
WORKING FOR JONES?
SELECT JOB
FROM EMP
WHERE MGR=(SELECT EMPNO
FROM EMP
WHERE ENAME=’JONES’);
17. DISPLAY THE EMPLOYEE NAMES, HIGHER DATE, COMMISSION OF
FORD'S MANAGER?
SELECT ENAME,HIREDATE,COMM
FROM EMP
WHERE EMPNO=(SELECT MGR
FROM EMP
WHERE ENAME=’FORD’);

18. DISPLAY THE NUMBER OF EMPLOYEES WHO ARE GETTING SALARY


LESS THAN THE BLAKE'S MANAGER
SELECT COUNT(*)
FROM EMP
WHERE SAL<(SELECT SAL
FROM EMP
WHERE EMPNO=(SELECT MGR
FROM EMP
WHERE ENAME=’BLAKE’));
19. LIST EMPLOYEES WHO LOCATED IN CHICAGO AND THEIR
COMMISSION IS ZERO.
SELECT ENAME
FROM EMP
WHERE DEPTNO=(SELECT DEPTNO
FROM DEPT
WHERE LOC=’CHICAGO’) AND COMM =0;
20. LIST EMPLOYEES WHO WORK FOR SALES DEPARTMENT AND THEIR
SALARY GREATER THAN AVERAGE SALARY OF THEIR DEPARTMENT.
SELECT ENAME
FROM EMP
WHERE DEPTNO=(SELECT DEPTNO
FROM DEPT
WHERE DNAME=’SALES’) AND SAL>(SELECT AVG(SAL)
FROM EMP
WHERE DEPTNO IN (SELECT DEPTNO
FROM DEPT
WHERE DNAME=’SALES’))
21. LIST EMPLOYEES WHO ARE WORKING IN RESEARCH DEPARTMENT
AND THEY ARE MANAGER.
SELECT ENAME
FROM EMP
WHERE DEPTNO=(SELECT DEPTNO
FROM DEPT
WHERE DNAME='RESEARCH') AND JOB=’MANAGER’;
22. DISPLAY DEPARTMENT NAME OF THE EMPLOYEES WHO EARN
COMMISSION.
SELECT DNAME
FROM DEPT
WHERE DEPTNO=(SELECT DEPTNO
FROM EMP
WHERE COMM IS NOT NULL);
23. DISPLAY DEPARTMENT NAME OF THE EMPLOYEE WHO EARN
MAXIMUM SALARY AND HAVE NO REPORTING MANAGER.
SELECT DNAME
FROM DEPT
WHERE DEPTNO IN(SELECT DEPTNO
FROM EMP
WHERE SAL IN (SELECT MAX(SAL)
FROM EMP) AND MGR IS NULL);
24. DISPLAY EMPLOYEE DETAILS WHO ARE REPORTING TO BLAKE AND
HAVE COMMISSION WITHOUT USING NULL OR NOT NULL
SELECT *
FROM EMP
WHERE MGR=(SELECT EMPNO
FROM EMP
WHERE ENAME='BLAKE') AND COMM >=0;
25. LIST ALL THE DEPT NAME AND LOC OF ALL THE SALESMAN
MANAGER-MANAGER'S
SELECT DNAME,LOC
FROM DEPT
WHERE DEPTNO IN(SELECT DEPTNO
FROM EMP
WHERE EMPNO IN(SELECT MGR
FROM EMP
WHERE EMPNO IN(SELECT MGR
FROM EMP
WHERE JOB='SALESMAN')));
26. LIST THE EMPLOYEE DEPT NAME AND LOC OF ALL THE
EMPLOYEES WHO ARE CLERK ,REPORTING TO BLAKE AND SALARY IS
LESSER THAN MARTIN SALARY
SELECT DNAME,LOC
FROM DEPT
WHERE DEPTNO IN(SELECT DEPTNO
FROM EMP
WHERE JOB =’CLERK’) AND MGR IN(SELECT EMPNO
FROM EMP
WHERE ENAME =’BLAKE’) AND SAL<(SELECT SAL
FROM EMP
WHERE ENAME =’MARTIN’);
27. LIST THE EMPLOYEES WHO DOES NOT DIRECTLY REPORT TO
PRESIDENT,HAVE COMMISSION AND SALARY MORE THAN MAX
SALARY OF ALL THE CLERK WITHOUT USING NULL OR NOT NULL
SELECT ENAME
FROM EMP
WHERE MGR IN(SELECT EMPNO
FROM EMP
WHERE MGR IN(SELECT EMPNO
FROM EMP
WHERE JOB='PRESIDENT')) AND COMM >=0 AND SAL>(SELECT
MAX(SAL)
FROM EMP
WHERE JOB='CLERK');
28. LIST THE EMPLOYEES WHO JOINED AFTER 2 YEARS OF FIRST
EMPLOYEE OF THE COMPANY AND MORE THAN BLAKE SALARY
SELECT ENAME
FROM EMP
WHERE HIREDATE>(SELECT MIN(HIREDATE)+365*2
FROM EMP) AND SAL>(SELECT SAL
FROM EMP
WHERE ENAME='BLAKE');
29. DISPLAY LOCATION OF ALL THE EMPLOYEES WHO REPORTING TO
BLAKE
SELECT LOC
FROM DEPT
WHERE DEPTNO IN(SELECT DEPTNO
FROM EMP
WHERE MGR IN(SELECT EMPNO
FROM EMP
WHERE ENAME='BLAKE'));
30. LIST ALL THE EMPLOYEES WHOSE JOB IS SAME AS JONES AND
THEIR SALARY LESSER THAN SCOTT
SELECT ENAME
FROM EMP
WHERE JOB=(SELECT JOB
FROM EMP
WHERE ENAME='JONES') AND SAL<(SELECT SAL
FROM EMP
WHERE ENAME='SCOTT');
31.DISPLAY ALL THE EMPLOYEES OF DEPARTMENT 30, 20 WITH THERE
ANUAL SALARY AND HAVING AT LEAST 3 EMPLOYEES
SELECT ENAME,SAL*12 ANN_SAL
FROM EMP
WHERE DEPTNO IN ( SELECT DEPTNO
FROM EMP
WHERE DEPTNO IN(30,20)
GROUP BY DEPTNO
HAVING COUNT(*)>=3);
32.DISPLAY ALL THE EMPLOYEES WHO ARE EARN LESS THAN ANY OF
THE SALESMAN?
SELECT ENAME
FROM EMP
WHERE SAL < ANY (SELECT SAL
FROM EMP
WHERE JOB ='SALESMAN');
33.DISPLAY ALL THE EMPLOYEES WHO ARE JOINED BEFORE THE LAST
PERSON?
SELECT ENAME
FROM EMP
WHERE HIREDATE<(SELECT MAX(HIREDATE)
FROM EMP);
34.FIND 3RD MINIMUM SALARY IN THE EMPLOYEE TABLE.
SELECT MIN(SAL)
FROM EMP
WHERE SAL>(SELECT MIN(SAL)
FROM EMP
WHERE SAL>(SELECT MIN(SAL)
FROM EMP));
35.DISPLAY ALL THE EMPLOYEES WHO ARE EARNING MORE THAN ANY
OF THE MANAGER.
SELECT ENAME
FROM EMP
WHERE SAL > ANY(SELECT SAL
FROM EMP
WHERE JOB='MANAGER');
36.LIST EMPLOYEES WHO JOINED AFTER 4 YEARS OF 1ST EMPLOYEE
OF THE COMPANY AND LESS THAN BLAKE SALARY.
SELECT ENAME
FROM EMP
WHERE HIREDATE>(SELECT MIN(HIREDATE)+365*4
FROM EMP) AND SAL<(SELECT SAL
FROM EMP
WHERE ENAME='BLAKE');
37. DISPLAY THE DEPARTMENT INFORMATION OF EMPLOYEE WHO IS
WORKING FOR NEW YORK LOCATION
SELECT *
FROM DEPT
WHERE DEPTNO IN (SELECT DEPTNO
FROM EMP
WHERE DEPTNO IN (SELECT DEPTNO
FROM DEPT
WHERE LOC IN ’NEW YORK’));
38.DISPLAY LOCATION OF EMPLOYEES, WHOSE NAME DOESN'T START
WITH A AND SALARY BETWEEN 1000 AND 3000.
SELECT LOC
FROM DEPT
WHERE DEPTNO IN(SELECT DEPTNO
FROM EMP
WHERE ENAME NOT LIKE 'A%' AND SAL BETWEEN 1000 AND 3000);
39. DISPLAY DEPARTMENT NAME OF ALL THE EMPLOYEES WHO ARE
REPORTING TO BLAKE.
SELECT DNAME
FROM DEPT
WHERE DEPTNO IN(SELECT DEPTNO
FROM EMP
WHERE MGR IN(SELECT EMPNO
FROM EMP
WHERE ENAME='BLAKE'));
40. DISPLAY MARTIN'S MANAGER'S MANAGER'S DEPARTMENT NAME
AND LOCATION.
SELECT DNAME,LOC
FROM DEPT
WHERE DEPTNO IN (SELECT DEPTNO
FROM EMP
WHERE EMPNO IN (SELECT MGR
FROM EMP
WHERE EMPNO IN(SELECT MGR
FROM EMP
WHERE ENAME='MARTIN')));

You might also like