How To Write a Query with a Right Outer Join

Q

How To Write a Query with a Right Outer Join? - Oracle DBA FAQ - Understanding SQL SELECT Query Statements

✍: FYIcenter.com

A

If you want to query from two tables with a right outer join, you can use the RIGHT OUTER JOIN ... ON clause in the FROM clause. The following query returns output with a right 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 RIGHT 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
......
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 extra rows from the second (right) table that do not satisfy the join condition. In those extra rows, columns from the first (left) table will be given null values.

The extra rows returned from the right outer join in this example represents employees that are not assigned as managers in the departments table.

2007-04-19, 5724👍, 0💬