Skip to main content
1 of 2

DUAL is a table with has exactly one row as the following SQL statement will show:

SELECT * FROM dual;

Your dual2 table has not rows. If you insert one, you will see the same behavior.

4*5 is an expression that oracle 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.