SQL PLUS, не в - PullRequest
       45

SQL PLUS, не в

0 голосов
/ 21 апреля 2019

This is my table

SELECT EMPNO
FROM  EMP
WHERE EMPNO NOT IN (SELECT MGR FROM EMP);

Я ожидал, что ответ на этот запрос должен быть

7654, 7499, 7844, 7900, 7521, 7369, 7876, 7934

но Oracle дал мне 'нет выбранных строк'

Мне любопытно, почему это происходит.

1 Ответ

1 голос
/ 21 апреля 2019

Поскольку столбец MGR имеет значение NULL, очевидно, операция сравнения с целым числом завершается неудачно.Поэтому вам нужно будет извлечь MGR записей, которые не содержат нулевых значений.

SELECT EMPNO FROM EMP WHERE EMPNO NOT IN (SELECT MGR FROM EMP WHERE MGR>0);

...