在 Oracle 9i 上,为什么以下会产生结果 'abc'
select 'abc ' || (select txt from
(select 'xyz' as txt from dual where 1=2))
from dual
虽然这会产生'abc xyz':
select 'abc ' || (select txt from
(select count(*), 'xyz' as txt from dual where 1=2))
from dual
为什么将 count(*) 添加到子查询会导致不同的行为?谓词是否应该where 1=2
排除子查询中的任何结果?