Query with a Full Outer Join in Oracle

Q

How To Write a Query with a Full Outer Join in Oracle?

✍: FYIcenter.com

A

If you want to query from two tables with a full outer join, you can use the FULL OUTER JOIN ... ON clause in the FROM clause. The following query returns output with a full outer join from two tables: departments and employees. The join condition is that the manager ID in the departments table equals to the employee ID in the employees table:

SQL> set NULL 'NULL'
SQL> SELECT d.department_name, e.first_name, e.last_name
  2  FROM departments d FULL OUTER JOIN employees e 
  3  ON d.manager_id = e.employee_id;
DEPARTMENT_NAME           FIRST_NAME           LAST_NAME
-------------------- -------------------- --------------
Administration            Jennifer             Whalen
Marketing                 Michael              Hartstein
Purchasing                Den                  Raphaely
Human Resources           Susan                Mavris
Shipping                  Adam                 Fripp
IT                        Alexander            Hunold
......
Treasury                  NULL                 NULL
Corporate Tax             NULL                 NULL
Control And Credit        NULL                 NULL
Shareholder Services      NULL                 NULL
Benefits                  NULL                 NULL
Manufacturing             NULL                 NULL
Construction              NULL                 NULL
......
NULL                      Clara                Vishney
NULL                      Jason                Mallin
NULL                      Hazel                Philtanker
NULL                      Nanette              Cambrault
NULL                      Alana                Walsh
NULL                      Karen                Partners
NULL                      Bruce                Ernst
......

Note that a right outer join may return two sets of extra rows: one set from the first (left) table that do not satisfy the join condition, and the other set from the second (right) table that do not satisfy the join condition.

 

Inner Join with the WHERE Clause in Oracle

Query with a Right Outer Join in Oracle

Understanding SQL SELECT Query Statements in Oracle

⇑⇑ Oracle Database Tutorials

2019-10-18, 1769🔥, 0💬