Вот смотрите. Есть у меня две почти одинаковые таблички, в каждой по 5 записей, ключ в каждой - 4 первые колонки.
Я пишу:
select *
from T1 full outer join T2 on список полей со знаками равенства
Запрос выводит мне все 5 записей, все поля не null. Отлично, говорю себе я, меняю full outer join на inner join, надеясь получить всё те же 5 записей... И получаю фигу с маслом - пустой запрос.
Ради интереса попробовал left outer join и right outer join - выводят всё те же 5 строчек.
На всякий случай: поля все называются по-разному, так что не может быть, что одно поле как-то перекрывается тёзкой из другой таблицы.
Ну и (я думаю, тут собака и зарыта) это SAS... А у него, как известно, собственные понятия, как должен работать SQL.
Я пишу:
select *
from T1 full outer join T2 on список полей со знаками равенства
Запрос выводит мне все 5 записей, все поля не null. Отлично, говорю себе я, меняю full outer join на inner join, надеясь получить всё те же 5 записей... И получаю фигу с маслом - пустой запрос.
Ради интереса попробовал left outer join и right outer join - выводят всё те же 5 строчек.
На всякий случай: поля все называются по-разному, так что не может быть, что одно поле как-то перекрывается тёзкой из другой таблицы.
Ну и (я думаю, тут собака и зарыта) это SAS... А у него, как известно, собственные понятия, как должен работать SQL.