select 한 결과 값을 다시 insert 해야 한다면 2번의 질의를 처리해주어야 하는데, 이것을 한번에 처리할 수 있는 것을 insert select 라고 합니다.


두 개 테이블의 칼럼이 동일할 경우 처리하는 방법:


 insert into [테이블] select * from [테이블] where [조건]; 

ex.1)

 insert into table1 select * from table2 where id > 3;




칼럼 수가 다를 경우 처리하는 방법:


 insert into [테이블] [칼럼명] select [칼럼명] from [테이블] where [조건];


 insert into table1 (col1, col2, col3) select col1, col2, col3 from table2 where id > 3;