반응형
CREATE 테이블명 AS SELECT문
SELECT 문의 결과를 새로운 테이블로 생성합니다.
[예제1 - FIRST_NAME이 'David'인 데이터를 BK_EMPLOYEES_DAVID 테이블을 생성하여 삽입하기]
아래와 같은 구조를 가진 테이블이 있습니다.
위 테이블에서 FIRST_NAME이 'David'인 데이터들을 구하는 SELECT 문입니다.
SELECT * FROM EMPLOYEES
WHERE FIRST_NAME = 'David'
;
위 SELECT문의 결과를 BK_EMPLOYEES_DAVID라는 테이블로 생성해보겠습니다.
BK_EMPLOYEES_DAVID 테이블을 CREATE하고 INSERT하는 구문을 실행하는 방법도 존재하지만
CREATE AS SELECT 구문을 통해 빠르게 테이블을 생성과 동시에 데이터를 삽입할 수 있습니다.
CREATE TABLE BK_EMPLOYEES_DAVID AS
SELECT * FROM EMPLOYEES
WHERE FIRST_NAME = 'David'
;
아래 쿼리를 통해 조회해보면 테이블과 데이터가 생성된 것을 확인할 수 있습니다.
SELECT * FROM BK_EMPLOYEES_DAVID;
[예제2 - FIRST_NAME이 'David'인 데이터의 일부를 BK_EMPLOYEES_DAVID_JOB 테이블을 생성하여 삽입하기]
FIRST_NAME이 'David'인 데이터 중 EMPLOYEE_ID, LAST_NAME, JOB_ID 값을
BK_EMPLOYEES_DAVID_JOB 테이블에 생성하는 예제입니다.
--FIRST_NAME이 'David'인 데이터 중 EMPLOYEE_ID, LAST_NAME, JOB_ID 값을
--BK_EMPLOYEES_DAVID_JOB 테이블에 생성하기
CREATE TABLE BK_EMPLOYEES_DAVID_JOB AS
SELECT EMPLOYEE_ID, LAST_NAME, JOB_ID
FROM EMPLOYEES
WHERE FIRST_NAME = 'David'
;
SELECT * FROM BK_EMPLOYEES_DAVID_JOB
;
이 외에도 컬럼의 순서를 바꿔 SELECT한 결과를 새로운 테이블로 생성하는 등의
다양한 방법으로 활용할 수 있습니다.
감사합니다.
반응형
'Database > Oracle' 카테고리의 다른 글
[Oracle] 오라클 비밀번호 만료 오류(Oracle password has expired) (0) | 2023.09.08 |
---|---|
[Oracle] 오라클 프로시저 JOB으로 실행하기 (0) | 2023.07.19 |
[Oracle] 오라클(XE) 11g 설치 | 계정 설정 | DBeaver 연결하기 (0) | 2022.09.27 |
[Oracle] comment로 테이블, 컬럼 찾기 (2) | 2022.08.03 |
[Oracle] 오라클 날짜, 한글 요일 구하기 (Feat. TO_CHAR) (0) | 2022.07.01 |