sql, insert와 select을 동시에 하기

select의 결과를 insert의 값으로 사용한다

  • 특정 데이터를 거의 대부분 복사하되 몇 가지 부분만 수정해야 할 일이 생겼다.
  • 이때 사용하면 좋은 쿼리가 insert into…. select…. 패턴이다.
  • 아래의 쿼리를 사용할 경우 kim을 이름으로 가진 레코드가 복사되며 주소의 값은 ‘서울시 서울구 서울동’이 된다.
  • 다른 테이블의 데이터를 select 할 수 있다.
insert into test
    (name, address)
select 
    name, '서울시 서울구 서울동'
from     
    test
where 
    name = 'kim';