본문 바로가기
IT

SQLServer SELECT * INTO 와 INSERT INTO SELECT 차이점

by AppleLover 2023. 10. 18.
반응형

 

한마디로 정의하자면

SELECT INTO테이블도 신규로 생성가능하며

INSERT INTO기존 테이블데이터만 INSERT 하는 것이다.

 

  • SELECT * INTO B FROM A

     : B테이블은 없고, A 테이블만 존재한다.

     : B라는 테이블이 없는 경우 데이터를 가지고 오면서 B 테이블을 신규로 생성한다.

 

     1. 전체 컬럼을 가지고 와서 테이블을 생성 및 데이터 INSERT 할 경우

      : SELECT * INTO B FROM A

 

      2. 특정 컬럼을 가져와서 신규 테이블 생성 및 데이터 INSERT 할 경우

       : SELECT * INTO B FROM (

                                           SELECT COL1, COL2,,, FROM A

                                            ) AS A_TABLE

 

  • INSERT INTO SELECT 사용법

     : A, B 테이블 모두 존재해야 한다.

   

    1. 전체 컬럼 INSERT INTO B SELECT * FROM A

      : A, B 테이블의 컬럼 및 타입 등이 동일해야 한다.

 

    2. 컬럼이 다를 경우 INSERT INTO B SELECT COL1, COL2 FROM A

       : A, B 컬럼이 다를 경우

'IT' 카테고리의 다른 글

[MSSQL] SQLServer 복구 모델(Recovery model)  (4) 2023.10.18
[UiPath]RPA개요 및 설치  (0) 2023.07.29
[UiPath]PDF 내의 Text Read  (0) 2023.07.29