본문 바로가기
SQL

SELECT INTO 구문

by 진격의 파파 2013. 9. 5.
반응형

 

안녕하세요!! 

이번에 포스팅할 내용은 SELECT INTO 구문입니다.

 

사실 select into 구문을 포스팅할까 말까 조금 망설였습니다. 지금 PHP 프로그래밍 작업을 하며 My-sql 데이터베이스를 사용하고 있는데 위 select into 기능은 my-sql에서 지원되지 않고 있기 때문인데 제가 사용하지 않는 기능을 다른분에게 잘 설명드릴수 있을까 고민했었습니다. 그런데 어차피 저도 배우는 자세로 포스팅해보려 합니다. 이부분은 조금 미흡하더라도 양해 부탁드립니다. ^^

 

select into 의 기능은 동일한 테이블의 형태를 복사하여 만드는데 매우 유용한 기능입니다.

예를들어

SELECT * INTO A_BACKUP FROM A;

위 구문을 실행하기 전까지는 A_BACKUP 란 테이블은 존재하지 않지만 실행을 하게 되면 A라는 테이블의 칼럼과 데이터를 가지는 A_BACKUP 라는 테이블이 생성됩니다.

 

그리고 만약 A라는 테이블의 필요한 칼럼만을 해당하는 테이블을 만들고 싶은 경우

SELECT COLUMN1, COLUMN2 .. INTO A_BACKUP

FROM A;

// 필요한 칼럼을 SELECT 구문뒤에 적은후 INTO 구문을 사용하면 원하는 칼럼만을 가져올 수 있습니다.

 

그리고 SELECT INTO의 또 다른 사용방법에는 IN 구문을 사용하여 백업파일을 만들 수 있습니다.

SELECT * INTO A_BACKUP IN 'BACKUP.MDB'
FROM A;

// 처럼 말이죠

 

그리고 원하는 값만 가져오고 싶을 경우 WHERE 구문을 사용하면 됩니다.

SELECT * INTO A_BACK

FROM A

WHERE COLUMN_NAME = 'VALUE';

// 원하는 칼럼값에 해당하는 조건을 넣으면 됩니다.

 

그리고 새 테이블에 하나 이상의 테이블에서 데이터를 가져오고 싶은 경우

SELECT INFO.Name, ORDER.OrderID
INTO INFOORDERBackup2013
FROM INFO
LEFT JOIN ORDER
ON INFO.ID = ORDER.ID;

// 처럼 이전 포스팅에서 설명드렸던 JOIN 구문을 활용하여 가져 올수도 있습니다.

 

이런 구문이 MY-SQL도 있으면 참 유용하게 도움될텐데 말이죠.

MYSQL측에 언제 업데이트 할 예정인지 알아봐야겠습니다.

 

어쨋든 오늘 포스팅은 여기까지 입니다.

남은하루 마무리 잘 하시고 즐거운 프로그래밍 되시길 바랍니다. ^^

 

 

반응형

'SQL' 카테고리의 다른 글

SQL CREATE DATABASE and TABLE 구문  (0) 2013.09.07
SQL INSERT INTO SELECT 구문  (0) 2013.09.06
SQL UNION 구문  (0) 2013.09.04
SQL RIGHT JOIN 구문  (1) 2013.09.03
SQL LEFT JOIN 구문  (0) 2013.09.02