NOT IN - парадоксальный результат
Коллеги обратились с вопросом: "Почему NOT IN" не дает выборки, хотя она быть должна?? Рассмотрим тестовый пример: select level as x from dual connect by level <= 5
;
1
2
3
4
5 select level as y from dual connect by level <= 3
;
1
2
3 -- получили две последовательности натуральных чисел, все хорошо. Сделаем NOT IN: with
s as (select level as x from dual connect by level <= 5),
d as (select level as y from dual connect by level <= 3)
select * from s where x not in (select y from d)
;
4
5 -- абсолютно очевидно; ожидаемый результат. Добавим пустое значение: with
s as (select level as x from dual...