DUAL is a table automatically created by Oracle Database along with the data dictionary.
DUAL is in the schema of the user
SYS but is accessible by the name
DUAL to all users. It has one column,
DUMMY, defined to be
VARCHAR2(1), and contains one row with a value
X. Selecting from the
DUAL table is useful for computing a constant expression with the
SELECT statement. Because
DUAL has only one row, the constant is returned only once. Alternatively, you can select a constant, pseudocolumn, or expression from any table, but the value will be returned as many times as there are rows in the table. Refer to "About SQL Functions" for many examples of selecting a constant value from
Note:Beginning with Oracle Database 10g Release 1, logical I/O is not performed on the
DUALtable when computing an expression that does not include the
DUMMYcolumn. This optimization is listed as
DUALin the execution plan. If you
DUAL, then this optimization does not take place and logical I/O occurs.