SQL$HELP72.HLB  —  Oracle Style Outer Join
    Oracle Rdb supports the SQL Database Language Standard syntax
    for performing outer join between two or more tables, namely
    the LEFT, RIGHT, and FULL OUTER JOIN clauses. Oracle Rdb also
    supports alternative syntax and semantics that conform to
    those available in Oracle RDMS SQL language to enhance the
    compatibility between these two products. The special operator
    (+) can be placed in the WHERE clause to instruct SQL to join
    tables using outer join semantics.

    An outer join extends the result of a simple join. An outer
    join returns all rows that satisfy the join condition and those
    rows from one table for which no rows from the other satisfy the
    join condition. Such rows are not returned by a simple join. To
    write a query that performs an outer join of tables A and B and
    returns all rows from A, apply the outer join operator (+) to all
    columns of B in the join condition. For all rows in A that have
    no matching rows in B, Oracle Rdb returns NULL for any select
    list expressions containing columns of B.

    Outer join queries are subject to the following rules and
    restrictions:

    o  The (+) operator can appear only in the WHERE clause and can
       be applied only to a column of a table or view.

    o  If A and B are joined by multiple join conditions, you must
       use the (+) operator in all of these conditions. If you do
       not, Oracle Rdb will return only the rows resulting from a
       simple join, but without a warning or error to advise you that
       you do not have the results of an outer join.

    o  The (+) operator can be applied only to a column, not to an
       arbitrary expression. However, an arbitrary expression can
       contain a column marked with the (+) operator.

    o  A condition containing the (+) operator cannot be combined
       with another condition using the OR logical operator.

    o  A condition cannot use the IN comparison operator to compare a
       column marked with the (+) operator with an expression.

    o  A condition cannot compare any column marked with the (+)
       operator with a subquery.

    If the WHERE clause contains a condition that compares a column
    from table B with a constant, the (+) operator must be applied to
    the column so that Oracle Rdb returns the rows from table A for
    which it has generated NULLs for this column. Otherwise Oracle
    Rdb will return only the results of a simple join.

    In a query that performs outer joins of more than two pairs
    of tables, a single table can be the NULL-generated table for
    only one other table. For this reason, you cannot apply the (+)
    operator to columns of B in the join condition for A and B and
    the join condition for B and C.
Additional Information: explode extract
Outer Join Examples Oracle Server Predicate
Close Help