SELECT INTO
SELECT INTO 명령문은 한 테이블의 데이터를 새 테이블로 복사한다.
구문
모든 열을 새 테이블에 복사
SELECT * INTO newtable [IN externaldb] FROM oldtable WHERE condition;
일부 열만 새 테이블에 복사
SELECT column1, column2, column3, ... INTO newtable [IN externaldb] FROM oldtable WHERE condition;
새 테이블은 이전 테이블에 정의된 대로 열 이름 및 유형으로 작성된다.
AS 절을 사용하여 새 열의 이름을 만들 수 있다.
예시
SQL 문은 고객의 백업 복사본 만들기
SELECT * INTO CustomersBackup2017 FROM Customers;
IN 절을 사용하여 테이블을 다른 데이터베이스의 새 테이블로 복사하기
SELECT * INTO CustomersBackup2017 IN 'Backup.mdb' FROM Customers;
몇 개의 열만 새 테이블에 복사하기
SELECT CustomerName, ContactName INTO CustomersBackup2017 FROM Customers;
독일 고객만 새 테이블에 복사하기
SELECT * INTO CustomersGermany FROM Customers WHERE Country = 'Germany';
둘 이상의 테이블에서 새 테이블로 데이터를 복사하기
SELECT Customers.CustomerName, Orders.OrderID INTO CustomersOrderBackup2017 FROM Customers LEFT JOIN Orders ON Customers.CustomerID = Orders.CustomerID;
다른 스키마의 스키마를 사용하여 비어 있는 새 테이블을 만드는 데도 사용하기
SELECT INTO 쿼리가 데이터를 반환하지 못하게하는 WHERE 절을 추가하기 만하면된다.
SELECT * INTO newtable FROM oldtable WHERE 1 = 0;
참고
W3C School - SQL SELECT INTO Statement
W3C School - SQL Tutorial