DUAL table
The DUAL table is a special one-row, one-column table present by default in Oracle and other database installations. In Oracle, the table has a single VARCHAR2(1) column called DUMMY that has a value of 'X'. It is suitable for use in selecting a pseudo column such as SYSDATE or USER.
Example use
Oracle's SQL syntax requires the FROM clause but some queries don't require any tables - DUAL can be readily used in these cases.
History
Chuck Weiss explains why he created DUAL:
The original DUAL table had two rows in it (hence its name), but subsequently it only had one row.
Optimization
Beginning with 10g Release 1 Oracle Database have been optimized and the database no longer performs physical or logical IO on the DUAL table even though the DUAL table still actually exists.
DUAL is readily available for all the users in database.
In other database systems
Several other databases (including SQL Server, PostgreSQL, and SQLite) enable one to omit the FROM clause entirely if no table is needed. This avoids the need for any dummy table.