Я запускаю левое внешнее соединение на двух таблицах, но полученные результаты не так ожидаются. Я привел приведенные ниже примеры:Oracle не работает как ожидалось
Когда я запускаю условие на отдельные tavles, ниже приведены значения.
select count(*) from TableA
where ColumnA= 'X'
and ColumnB like 'ABC'
--Count 10000
select count(*) from TableB
where ColumnD in ('hello','there')
--Count 7350
select count(*) from TableA ta
LEFT JOIN TableB tb
on ta.ColumnM = tb.ColumnN
where ta.ColumnA= 'X'
and ta.ColumnB like 'ABC'
and tb.ColumnD in ('hello','there')
Expected Count - 10000
Actual Count - 7300
Я предполагаю, что мое понимание соединений неверно в этом случае. может ли кто-нибудь объяснить поведение и сообщить мне, где я ошибаюсь?
Хорошее объяснение, но вид рядный не нужно. 'left join tableb tb на ta.ColumnM = tb.ColumnN и tb.ColumnD in ('hello', 'there')' будет работать нормально –