89% found this document useful (28 votes)
24K views5 pages

Answers of Joins

The document contains 27 SQL queries related to joins on employee and department tables. The queries list employee details based on salary, display employee and manager details, show department details with or without employees, calculate totals by department, and filter results based on various conditions.

Uploaded by

Ravi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
89% found this document useful (28 votes)
24K views5 pages

Answers of Joins

The document contains 27 SQL queries related to joins on employee and department tables. The queries list employee details based on salary, display employee and manager details, show department details with or without employees, calculate totals by department, and filter results based on various conditions.

Uploaded by

Ravi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 5

Answers – JOINS

1.LIST ENAME, JOB, ANNUAL SAL, DEPTNO, DNAME WHO EARN 30000 PER
YEAR AND WHO ARE NOT CLERKS.

SELECT ENAME , JOB , SAL*12 ANNUAL_SAL, EMP.DEPTNO, DNAME


FROM EMP,DEPT
WHERE EMP.DEPTNO=DEPT.DEPTNO
AND SAL*12=30000 AND JOB<>’CLERK’;

2. LIST OUT THE ALL EMPLOYEES BY NAME AND EMPLOYEE NUMBER ALONG
WITH THEIR MANAGER'S NAME AND EMPLOYEE NUMBER.

SELECT E1.ENAME,E1.EMPNO,E2.ENAME,E2.EMPNO
FROM EMP E1,EMP E2
WHERE E1.MGR =E2.EMPNO;

3.DISPLAY ENAME,DNAME EVEN IF THERE NO EMPLOYEES WORKING IN A


PARTICULAR DEPARTMENT.

SELECT ENAME,DNAME
FROM EMP RIGHT OUTER JOIN DEPT
ON EMP.DEPTNO=DEPT.DEPTNO
WHERE ENAME IS NULL;

4.DISPLAY THE DEPARTMENT NAME ALONG WITH TOTAL SALARY IN EACH


DEPARTMENT

SELECT DNAME,SUM(SAL)
FROM EMP E INNER JOIN DEPT D
ON E.DEPTNO=D.DEPTNO
GROUP BY DNAME;

5.DISPLAY EMPLOYEE NAME AND DEPARTMENT NAME FOR EACH EMPLOYEE

SELECT ENAME,DNAME
FROM EMP E,DEPT D
WHERE E.DEPTNO=D.DEPTNO;

6.DISPLAY LOCATION NAME OF THE EMPLOYEE WHO EARN COMMISSION.


SELECT LOC
FROM EMP E INNER JOIN DEPT D
ON E.DEPTNO=D.DEPTNO
WHERE COMM IS NOT NULL;
7.DISPLAY DEPT NAME OF THE EMPLOYEE WHO EARN MIN SALARY AND
HAVE NO REPORTING MANAGER

SELECT DNAME
FROM EMP E INNER JOIN DEPT D
ON E.DEPTNO=D.DEPTNO
WHERE SAL=(SELECT MIN(SAL) FROM EMP)
AND MGR IS NULL;

8.DISPLAY DEPT NAME,LOC OF ALL THE EMPLOYEES WHO ARE REPORTING TO


SMITH.

SELECT DNAME, LOC


FROM EMP E1 , EMP E2 , DEPT D
WHERE E1.ENAME = ‘SMITH’
AND E1.EMPNO=E2.MGR
AND E2.DEPTNO=D.DEPTNO;

9.LIST ALL THE DEPT NAME AND LOCATION OF ALL THE SALESMAN
MANAGER'S MANAGER.

SELECT DNAME,LOC
FROM EMP E1 , EMP E2 , EMP E3 , DEPT D
WHERE E1.JOB=‘SALESMAN’
AND E1.MGR=E2.EMPNO
AND E2.MGR = E3.EMPNO
AND E3.DEPTNO=D.DEPTNO;

10.LIST EMPLOYEES WHO ARE WORKING IN RESEARCH DEPT AND THEY ARE
MANAGER.

SELECT ENAME
FROM EMP E,DEPT D
WHERE E.DEPTNO=D.DEPTNO
AND DNAME=’RESEARCH’ AND JOB=’MANAGER’;

11.DISPLAY THE NUMBER OF EMPLOYEES WHO ARE GETTING SALARY LESS


THAN THE BLAKE'S MANAGER.

SELECT COUNT(E3.EMPNO)
FROM EMP E1,EMP E2,EMP E3
WHERE E1.ENAME=‘BLAKE’
AND E1.MGR = E2.EMPNO
AND E3.SAL < E2.SAL ;
12.LIST THE EMPLOYEE DEPTNAME AND LOCATION OF ALL THE EMPLOYEES
WHO ARE ANALYST,REPORTING TO BLAKE.

SELECT DNAME,LOC
FROM EMP E1 , EMP E2 , DEPT D
WHERE E1.ENAME= ‘BLAKE’
AND E1.EMPNO=E2.MGR
AND E2.JOB=‘ANALYST’
AND E2.DEPTNO=D.DEPTNO;

13.DISPLAY THE EMPLOYEE NAMES,HIREDATE,COMM OF FORD'S MANAGER

SELECT ENAME,HIREDATE,COMM
FROM EMP E1,EMP E2
WHERE E1.MGR=E2.EMPNO
AND E1.ENAME=’FORD’;

14.DISPLAY ENAME, DNAME OF ALL THE EMPLOYEES WHOSE SALARY LESS


THAN AVG SAL OF DEPT 30

SELECT ENAME,DNAME
FROM EMP E,DEPT D
WHERE E.DEPTNO=D.DEPTNO
AND SAL<(SELECT AVG(SAL) FROM EMP WHERE DEPTNO=30);

15.DISPLAY ENAME DNAME AND LOC OF ALL THE EMPLOYEES WHO ARE
WORKING FOR JONES

SELECT E2.ENAME,DNAME,LOC
FROM EMP E1 ,DEPT D,EMP E2
WHERE E2.DEPTNO=D.DEPTNO
AND E1.EMPNO=E2.MGR
AND E1.ENAME=’JONES’;

16.DISPLAY ENAME DNAME OF ALL THE EMPLOYEES WHOSE NAME STARTS


WITH S

SELECT ENAME,DNAME
FROM EMP E,DEPT D
WHERE E.DEPTNO=D.DEPTNO AND E.ENAME LIKE ‘S%’;
17.LIST THE DNAME WHO ARE NOT HAVING ANY EMPLOYEE IN IT

SELECT DNAME
FROM EMP RIGHT OUTER JOIN DEPT
ON EMP.DEPTNO=DEPT.DEPTNO
WHERE ENAME IS NULL;

SELECT DNAME
FROM EMP ,DEPT
WHERE EMP.DEPTNO(+)=DEPT.DEPTNO
AND ENAME IS NULL ;

18.DISPLAY EMPLOYEE WHO ARE GETTING SAME COMMISSION

SELECT E1. ENAME,E2.ENAME,E1.COMM,E2.COMM


FROM EMP E1,EMP E2
WHERE E1.COMM=E2.COMM
AND E1.EMPNO<>E2.EMPNO;

19.DISPLAY ALL THE DEPT NAMES IRRESPECTIVE OF ANY EMPLOYEE


WORKING IN IT OR NOT. IF AN EMPLOYEE IS WORKING DISPLAY HIS NAME.

SELECT DNAME
FROM EMP E FULL OUTER JOIN DEPT D
ON E.DEPTNO=D.DEPTNO
WHERE ENAME IS NULL;

20.WRITE A QUERY TO DISPLAY EMPLOYEE NAME, JOB, DNAME, LOCATION OF


ALL EMPLOYEES WHO ARE WORKING AS ACTUAL MANAGERS AND WORKS
AT CHICAGO.

SELECT ENAME,JOB,DNAME,LOC
FROM EMP E ,DEPT D
WHERE E.DEPTNO=D.DEPTNO
AND JOB=’MANAGER’
AND LOC=’CHICAGO’;

21.LIST THE DEPARTMENT NAMES IN WHICH THE EMPLOYEES ARE HIRED


BETWEEN 1ST OF JAN 1981 AND 31ST DEC 1982 WITH SALARY MORE THAN
1800.

SELECT DNAME
FROM EMP E,DEPT D
WHERE E.DEPTNO=D.DEPTNO
AND HIREDATE BETWEEN ’01-JAN-81’ AND ’31-DEC-82’
AND SAL>1800;
22.DISPLAY 2ND LEAST SALARY FROM EMPLOYEE TABLE.

SELECT MIN(E1.SAL)
FROM EMP E1 , EMP E2
WHERE E1.SAL > E2.SAL ;

23.LIST THE EMPLOYEES WHOSE ANNUAL SALARY IS GREATER THAN 1500


AND WHO ARE JOINED BEFORE 1982 ONLY.

SELECT ENAME
FROM EMP
WHERE SAL*12>1500
AND HIREDATE <’01-JAN-82’;

24.DISPLAY DNAME, LOC, DEPTNO OF EMPLOYEES WHO HAS SAME


REPORTING MANAGER

SELECT DISTINCT DNAME,LOC,D.DEPTNO


FROM EMP E1 ,DEPT D,EMP E2
WHERE E1.DEPTNO=D.DEPTNO
AND E1.MGR=E2.MGR
AND E1.EMPNO<>E2.EMPNO;

25.DISPLAY EMPLOYEE NAME ALONG WITH THEIR MANAGER NAME.

SELECT E1.ENAME,E2.ENAME
FROM EMP E1,EMP E2
WHERE E1.MGR=E2.EMPNO;

26.DISPLAY EMPLOYEE NAME AND HIS DEPT NAME FOR THE EMPLOYEES
WHOSE NAME STARTS WITH ‘S’.

SELECT E1.ENAME,D.DNAME
FROM EMP E1,DEPT D
WHERE E1.DEPTNO=D.DEPTNO
AND E1.ENAME LIKE ‘S%’;

27.DISPLAY EMPLOYEES WHO ARE GETTING SAME SALARY.

SELECT E1.ENAME
FROM EMP E1,EMP E2
WHERE E1.SAL=E2.SAL
AND E1.EMPNO!=E2.EMPNO;

You might also like