Di seguito un esempio di sintassi di outer join,
la tabella principale è tab1, mentre tab2 è quella in outer.
Fare attenzione alla direzione della relazione dopo la clausola ON,
infatti prima inserire il campo della tabella in outer join (tab2),
dopo il campo della tabella principale (tab1)
SELECT t1.id,t1.field1, t2.field2 FROM tab1 t1 LEFT OUTER JOIN tab2 t2 ON t2.field2 = t1.field1 ORDER BY t1.id
Per maggiori dettagli
http://docs.oracle.com/cd/B28359_01/server.111/b28286/queries006.htm
La stessa query in sintassi SQL99
SELECT t1.id,t1.field1, t2.field2 FROM tab1 t1, tab2 t2 WHERE t2.field2(+) = t1.field1 ORDER BY t1.id
Di seguito un altro esempio di outer join dove la tabella principale (table1) conterrà tutti i suoi dati, mentre in outer è possibile relazionare un set di dati formato da (table2, table3) che a loro volta sono in join tra di loro.
SELECT table1.id, table1.account, tablecontacts.name, tablecontacts.number FROM table1 LEFT JOIN (SELECT table2.id2, table3.first, table3.last FROM table3, table2 WHERE table3.id3 = table2.id2 ) as tablecontacts ON table1.id = tablecontacts.id2
Un esempio di come utilizzare nella clausola FROM una subquery, nel seguente caso NON si tratta di OUTER, ma si semplice JOIN. Può essere utile quando vi vuole forzare l’esecuzione delle istruzioni SQL per mancanza di key colum.
SELECT table1.id1, table1.field1, tabsubq.firstrno, tabsubq.lastrno FROM table1, (SELECT table2.id2, table3.firstrno, table3.lastrno FROM table3, table2 WHERE table3.n3 = table2.id2 ) as tabsubq WHERE table1.id1 = tabsubq.id2