INSERT 문에 질의를 사용하면 하나의 INSERT 문으로 다수의 데이터를 생성할 수 있다.
다른 테이블로부터 특정 검색 조건을 만족하는 데이터를 추출하고 싶은 경우 질의를 이용하면 조건을 만족하는 모든 데이터는 INSERT 문에 명시된 테이블의 데이터가 된다.
INSERT INTO table_name [ (attribute_list ) ] query_statement [ ; ]
다음은 man 테이블을 생성하고 athlete 테이블에서 남자 선수들의 이름을 조회하여 결과를 삽입한다. 하나의 INSERT 문을 이용하여 4087건의 데이터가 삽입되는 것을 알 수 있다.
CREATE TABLE man (
name VARCHAR(40)
);
csql> INSERT INTO man (name) SELECT name FROM athlete WHERE gender ='M';
csql> ;x
4087 rows inserted.
Current transaction has been committed.
1 command(s) successfully processed.