In it's simplest form you are doing an "insert into table2 select * from table1", with partitioning and optional cluster clauses added to the end of the statement.
But the "select" part of the statement can really be any select statement that returns data.