Оператор NE оценивается так же, как любой другой оператор. Таким образом, ваш запрос говорит, что вы хотите сопоставить наблюдения, где SSN одинаков, а AN не совпадает. Таким образом, SSN = 1 и AN = 3 будут соответствовать двум наблюдениям, которые имеют SSN = 1, но не имеют AN = 3. Таким образом, одно наблюдение будет выведено дважды, поскольку оно совпадает с двумя наблюдениями. LEFT JOIN означает, что даже когда нет наблюдений, где SSN совпадает, а AN не совпадает, тогда это наблюдение также выводится.
Возможно, вы просто хотите использовать операцию набора EXCEPT?
select ssn,an from ONL
except
select ssn,an form OFF