Если подзапрос возвращает нулевые значения внутри NOT IN ( subquery )
, запрос не возвращает строки.
приведенный ниже SQL возвращает 12345
With WTH0 AS (
SELECT '12345' x FROM dual
),
WTH1 AS (
SELECT '1' c1, '2' c2, '3' c3 FROM dual
)
SELECT X
FROM WTH0
WHERE X NOT IN (SELECT C1||C2||C3 FROM WTH1);
тогда
With WTH0 AS (
SELECT '12345' x FROM dual
),
WTH1 AS (
SELECT '1' c1, '2' c2, '3' c3 FROM dual union
SELECT null c1, null c2, null c3 FROM dual
)
SELECT X
FROM WTH0
WHERE X NOT IN (SELECT C1||C2||C3 FROM WTH1);
возвращает пустой набор результатов.