Outer joins get a little tricky if you have Where conditions for columns that come from the [dependent] table. If a table does not contribute attributes for a row in the result set, its resulting columns are null. Therefore, your where clause must accommodate such behavior (see coalesce function).