create table … as select … (aka CTAS) creates a table whose column-data types and values stored in its records are determined by the result set of a select statement.
create table tbl_copy
-- nologging
-- pctfree
as
select
col_1,
col_4,
col_5
from
tbl;
WITH clause
A create table as select statement can be combined with a WITH clause as shown below:
create table tq84_numbers
as
with nums as (
select
level as num,
to_char(to_date(level, 'j'), 'jsp') spelled
from
dual connect by level <= 10000
)
select
num,
spelled
from
nums;
Parallel
It must be made sure that the session is enabled for parallel DDLs: