Jonctiunea externa

Are ca rezultat un tabel in care se regãsesc  toate  inregistrarile din unul din tabelele asociate sau  din  ambele tabele asociate, chiar daca aceste inregistrari nu  au corespondent.

Sintaxa ORACLE
Se intalneste sub una din urmatoarele forme:
- jonctiune externa stanga (left outer join)

SELECT a.nume, a.adresa, c.tip_pr
    FROM agenti a, contracte c
    WHERE a.cod (+) = c.cod;

- jonctiune externa dreapta (right outer join)

SELECT c.cod, f.cod, f.numar, f.data
    FROM  contracte c, facturi f
    WHERE c.cod  = f.cod (+);

Observatii:
1. Operatorul  pentru jonctiunea externa (+) poate sa apara numai intr-o parte a expresiei - in partea din care lipseste  informatia.
2. O conditie care implica o jonctiune externa,  nu poate utiliza operatorul "IN" , sau nu poate fi legatã de o altã conditie prin operatorul  "OR"

Sintaxa SQL:1999

SELECT a.nume, a.adresa, c.tip_pr
    FROM agenti a
    LEFT OUTER JOIN contracte c
   ON  a.cod  = c.cod;

SELECT a.nume, a.adresa, c.tip_pr
    FROM agenti a
    RIGHT OUTER JOIN contracte c
   ON  a.cod  = c.cod;

SELECT a.nume, a.adresa, c.tip_pr
    FROM agenti a
    FULL OUTER JOIN contracte c
   ON  a.cod  = c.cod;