한방에 여러행 인서트로 때려넣기
정보의 바다,, 내머리로 이해할수 있는 글은
갓블로그
https://blog.outsider.ne.kr/263
여러 행 SELECT해서 INSERT 하기
여러 행을 가지고 한번에 인서트를 해야할 경우가 최근에 꽤 있었다. 한쪽 테이블에서 어떤 조건으로 셀렉트해서 다른쪽 테이블에 한꺼번에 넣어주기... 그렇게 흔한 상황은 아니지만 충분히 있을법한 상황이다.
처음에는 이걸 할줄 몰라서 SELECT해와서 루프돌면서 인서트를 날려줬다. 아~ 느려.. ㅡ..ㅡ 갯수가 그렇게 많지 않았으니까 다행이지.......
위에처럼 해주면 인서트문 한방으로 수십, 수백줄의 행을 추가해 줄 수 있다. 솔직히 이거 하기 전에는 INSERT는 한번에 하나만 되는 줄 알았다. ㅋ WHERE절은 SELECT문에 딸린 조건문이다. INSERT문이 아니라.... 이렇게 SELECT로 할 때는 원래의 INSERT문에 들어가는 VALUES는 들어가지 않고 당연한 얘기로 INSERT할 컬럼수와 SELECT하는 컬럼수 및 타입이 동일해야 된다.
SQL책하나 보고 좀 감오나 했더니 복잡한 쿼리 오니까 다시 헷갈리는 구만...
처음에는 이걸 할줄 몰라서 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책하나 보고 좀 감오나 했더니 복잡한 쿼리 오니까 다시 헷갈리는 구만...
'DB > SQL' 카테고리의 다른 글
[MS_SQL] 이번주 월요일 구하기 (0) | 2023.08.30 |
---|---|
[MS SQL] 날짜 변환표 (0) | 2023.08.30 |
MSSQL 테이블정의서 만들기 쿼리 (0) | 2023.08.25 |
[오라클] 테이블정의서 자동으로 엑셀추출하기 (0) | 2023.08.25 |
오라클 > mssql 마이그레이션 참고사항 (0) | 2023.07.25 |