To retrieve the Employee name, job, salary, deptno, dname from EMP, DEPT table. It will return all information regarding the employees and the department information. This is Full Outer Join’s Example.
SQL> SELECT ENAME,JOB,SAL.DEPT.DEPTNO,DNAME FROM EMP,DEPT WHERE EMP.DEPTNO(+)= DEPT.DEPTNO AND DEPT.DEPTNO NOT IN (10,20);
Explanation: It is clear from the query that it is missing ENAME, JOB, and SAL for the department number 40. it is due to the information missing in the employee table but it still shows the available information .i.e. DEPTNO, DNAME. So in the EMP table there was deficit of information, hence the (+) operator placed on EMP side.
• To retrieve the Employee name, job, salary, deptno, dname from EMP, DEPT table. It will return all information regarding the employees and the department information.
Explanation: It is clear from the query below that now we have employee information but we don’t have department information in the DEPT table so now deficit of information is on the DEPT side.
SQL > SELECT ENRME,JOB.SAl,DEPT.DEPTND,DNAME FROM EMP,DEPT WHERE EMP.DEPTNO = DEPl.DEPTNO(+);
Full Outer Join
We can also use Outer join according to the ANSI standard. The below query is performed by using the ANSI standard. The ANSI Standards are defined for Oracle 9i or advance versions.
A full outer join combines the results of both left and right outer joins. The joined table will contain all records from both tables, and fill in NULLs for missing matches on either side.
SQL> SELECT EMP.ENAME.DEPT.DEPTNO FROM EMP FUll OUTER JOIN DEPT ON(EMP.DEPTNO= DEPT.DEPTN);
Explanation: This command will return all the employee names and their respective Dept numbers.