А потому что твой запрос ораклом переписывается и исполняется вот в таком виде:
SELECT SUM(salesum)
FROM (
SELECT * FROM SALES
UNION
SELECT * FROM SALES_
) vsales
WHERE saledate BETWEEN :FIRSTDATE
AND :LASTDATE; |
, то есть ORACLE вначале строит твое представление, а уж потом делает выборку из этого представления, накладывая на результаты запроса ограничение
BETWEEN ... AND