From: Ulysses on
I am running SQL 2008. I have a linked server to Oracle using Microsoft OLE
DB Provider for Oracle (MSDAORA). Allow inprocess=Enable, Collation
Compatible=False, Data Access=True, RPC=True, RPC Out=True, Use Remote
Collation=True, Collation Name=Latin1_General_BIN,

SELECTS and INNER JOINS work fine when querying however the LEFT or RIGHT
"OUTER JOIN" syntax does not bring back the "outer" record from either SQL or
Oracle. I have to use the NOT IN (...value list) syntax to get the right
values returned.

For example, the following does not return the "outer" record from the
Oracle Linked Server.
SELECT
l.ColumnOne
FROM
LS..OraLinked.OraTable l
LEFT OUTER JOIN
SqlLocal.SqlTable s
ON l.OraTable = s.SqlTable
WHERE s.SqlTable IS NULL

This does return the "outer" record from the Oracle Linked Server.
SELECT
l.ColumnOne
FROM
LS..OraLinked.OraTable l
WHERE l.OraTable NOT IN
(SELECT s.SqlTable FROM SqlLocal.SqlTable s)

YET, the INNER JOIN works just fine and the "matching" values on the LEFT
OUTER JOIN also work just fine.