본문 바로가기
DB/SQL

select 해서 insert 넣기

by w1z 2023. 8. 25.

한방에 여러행 인서트로 때려넣기 

정보의 바다,, 내머리로 이해할수 있는 글은 

 

 

갓블로그 

https://blog.outsider.ne.kr/263

 

여러 행 SELECT해서 INSERT 하기 :: Outsider's Dev Story

여러 행을 가지고 한번에 인서트를 해야할 경우가 최근에 꽤 있었다. 한쪽 테이블에서 어떤 조건으로 셀렉트해서 다른쪽 테이블에 한꺼번에 넣어주기... 그렇게 흔한 상황은 아니지만 충분히 있

blog.outsider.ne.kr

여러 행 SELECT해서 INSERT 하기

여러 행을 가지고 한번에 인서트를 해야할 경우가 최근에 꽤 있었다. 한쪽 테이블에서 어떤 조건으로 셀렉트해서 다른쪽 테이블에 한꺼번에 넣어주기... 그렇게 흔한 상황은 아니지만 충분히 있을법한 상황이다.

처음에는 이걸 할줄 몰라서 SELECT해와서 루프돌면서 인서트를 날려줬다. 아~ 느려.. ㅡ..ㅡ 갯수가 그렇게 많지 않았으니까 다행이지.......

INSERT INTO table_a
( title, name, regdate, register, memberid, categoryid )
SELECT title, name, regdate, register, memberid, categoryid
FROM table_b
WHERE categoryid=10
SQL

위에처럼 해주면 인서트문 한방으로 수십, 수백줄의 행을 추가해 줄 수 있다. 솔직히 이거 하기 전에는 INSERT는 한번에 하나만 되는 줄 알았다. ㅋ WHERE절은 SELECT문에 딸린 조건문이다. INSERT문이 아니라.... 이렇게 SELECT로 할 때는 원래의 INSERT문에 들어가는 VALUES는 들어가지 않고 당연한 얘기로 INSERT할 컬럼수와 SELECT하는 컬럼수 및 타입이 동일해야 된다.

SQL책하나 보고 좀 감오나 했더니 복잡한 쿼리 오니까 다시 헷갈리는 구만...