outer join

from The Free On-line Dictionary of Computing (8 July 2008)
outer join
full outer join
left join
left outer join
right join
right outer join

   <database> A less commonly used variant of the {inner join}
   {relational database} operation.  An inner join selects rows
   from two {tables} such that the value in one {column} of the
   first table also appears in a certain column of the second
   table.  For an outer join, the result also includes all rows
   from the first operand ("left outer join"), or the second
   operand ("right outer join"), or both ("full outer join").  A
   field in a result row will be null if the corresponding input
   table did not contain a matching row.

   For example, if we want to list all employees and their
   employee number, but not all employees have a number, then we
   could say (in {SQL-92} syntax, as used by {Microsoft SQL
   Server}):

   	SELECT employee.name, empnum.number
   	FROM employee
   	LEFT JOIN empnum ON employee.id = empnum.id

   or, in {Sybase} syntax:

   	SELECT employee.name, empnum.number
   	FROM employee, empnum
   	WHERE employee.id *= empnum.id

   The "*" on the left means "left outer join".  "*=*" would be a
   full outer join.

   In {Oracle} syntax:

   	SELECT employee.name, empnum.number
   	FROM employee, empnum
   	WHERE employee.id = empnum.id (+)

   Note that the "(+)" on the right means "left outer join".

   These all mean that all rows from the left-hand "employee"
   table will appear in the result, even if there is no match for
   their ID in the empnum table.  Where there is no empnum.id
   equal to a given employee.id, a result row is output anyway
   but with all result columns from the empnum table null
   (empnum.number in this case).

   (2004-11-12)
    

[email protected]