DUALDUAL
is a table with has exactly one row as the following SQL statement will show:
SELECT * FROM dual;
SELECT * FROM dual;
Your dual2dual2
table has notno rows. If you insert one, you will see the same behavior.
4*5 is an expression that oracleOracle can evaluate without actually using data from the table. It will evaluate it once for every row, just like it would do with a normal column expression. So if there is no row, no result is returned, if there are two rows, you will get the 20 twice.