A WITH CLAUSE is used to provide the sub query block that can be refer to several places in within the main SQL query.
It was introduced by oracle in oracle 9i release2 database.
WITHAS (sql_sub-query_statement) SELECT column1_list FROM < alias1_name> [table_name] [WHERE ]