Результат такого запроса: не выбрано ни одной строки .
Например (на основе таблиц Скотта EMP
и DEPT
, поскольку у меня нет вашей, и вы не опубликовали тестовый пример), этот запрос возвращает ничего :
SQL> select e.deptno
2 from emp e
3 where e.ename = 'Littlefoot';
no rows selected
Если он используется как подзапрос, результат будет равен текущему:
SQL> select nvl(d.dname, 'x') result
2 from dept d
3 where d.deptno in (select e.deptno
4 from emp e
5 where e.ename = 'Littlefoot'
6 );
no rows selected
Но если вы примените агрегацию (см. Строку 1), вы 'получил бы то, что хотел:
SQL> select nvl(max(d.dname), 'x') result
2 from dept d
3 where d.deptno in (select e.deptno
4 from emp e
5 where e.ename = 'Littlefoot'
6 );
RESULT
--------------
x
Как я уже сказал: работает в моем тестовом примере; может или не может на вашем. Если вы разместите образцы данных, нам будет с чем поработать.