Я выполняю 2 запроса к базе данных Informix. Запросы затрагивают 4 разные таблицы с внутренними и внешними объединениями. Я думал, что они оба должны возвращать одинаковый набор результатов, но я получаю разницу в 3 записи. Два запроса показаны ниже:
запрос 1 (возвращает 65 строк) -
select ...
from table1, table2, outer table3, outer table4
where table1.id = table2.id
and table1.id = table3.id
and table1.id = table4.id
and .....
запрос 2 (возвращает 62 строки) -
select ....
from table1 inner join table2 on table1.id = table2.id
left outer join table3 on table1.id = table3.id
left outer join table4 on table1.id = table4.id
where .....
Кто-нибудь знает, почему эти 2 возвращают разные наборы результатов? Я предположил, что изменение внутреннего соединения / левого внешнего соединения вместо использования внешнего (и ничего для внутреннего соединения) даст те же результаты.