Почему внешнее соединение связывает значения из таблицы - PullRequest
1 голос
/ 10 июня 2019

Это ошибка оракула или я чего-то не понимаю?

select let1, let2, nvl(let2, 'z') fn_let2
from
  (select 1 num, 'a' let1 from dual) t1
  left outer join (select 2 num, 'E' let2 from dual where 0=1) t2
    on (t1.num = t2.num);

t1 - возвращает 1, 'a'

t2 - нет строк из-за 0 = 1

Теперь мы оставили внешнее объединение, так что мы должны получить все из t1, дополненного нулями, но не ...

Сшитое 'E' берется в результаты.

'a', 'E', 'z'

Еще смешнее, эта функция на let2 работает правильно, поэтому nvl (let2, 'z') - возвращает 'z'.

Я использую Oracle 10.2

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...