원래는 테이블 CREAT, 내용을 INSERT 하고, SELECT 하는 것이 순서이지만
급한 경우, SELECT 문에 INTO를 넣어 결과를 저장하여 조회하는 방법을 사용하기도 한다.
크게 두 가지 방법이 있다.
1) #(테이블명) - 임시테이블 만들기
2) (테이블명) - 물리적인 테이블 만들기
SELECT [컬럼1], [컬럼2] ...
INTO [#임시 테이블명]
FROM [데이터를 가져올 테이블명]
1) #(테이블명) - 임시테이블 만들기
아래 사진과 같이 INTO 구문에 #(테이블명)으로 임시테이블을 생성한다.
한 세션 내에서만 사용 가능한 임시테이블을 '지역 임시테이블(Local Temporary Table)'이라고 부른다.
지역 임시 테이블(Local Temporary Table)은 한 세션 내에서만 사용가능하다.
다른 세션에서 조회해보면 조회가 되지 않는다.
SQL Server 에서 세션이란 상단에 탭처럼 보이는 것이 각 세션이다.
위 사진에서 사용하고 있는 세션이 노란부분으로 구분되어 색상이 표시되고 있다.
한 세션 내에서 (위 사진에서 사용한 SELECT INTO 구문) 동일한 구문을 그대로 실행 시 오류가 발생한다.
그런 경우
DROP TABLE #(임시테이블명)
SELECT INTO(임시테이블명)
DROP 구문을 날려준 뒤 실행하면 된다.
2) (테이블명) - 물리적인 테이블 만들기
반면에 물리적인 테이블을 만들 경우, 다른 세션에서도 조회가 가능하다
이 테이블은 한번 조회하고 말 내용이 아니라 계속해서 확인할 용도일 때 생성한다.
또는 데이터의 내용이 임시테이블의 용량을 초과할 때.
▶ 참고
MS-SQL 임시테이블과 관련하여 잘 정리해주신 분의 글
[MsSQL]임시 테이블의 종류
MsSQL에서 사용 가능한 임시 테이블(Temporary Tables) 종류에 대해 포스팅합니다. 임시 테이블(Temporary Tables)이란? 임시 테이블은 말 그대로 임시로 사용되는 테이블이며, SELECT, UPDATE, INSERT, DELETE와 JOIN
developer-talk.tistory.com