테이블 복제 

참고

 기본키와 외래키는 가져오지 않는다.

 오리지널 테이블에 영향을 주지 않는다.

 

 

 

컬럼 + 데이터 복제하기

형식

 CREATE TABLE 생성할 테이블명
 AS SELECT * FROM 복제할 테이블명;

 

예시

-- hr 스키마

CREATE TABLE TB_TEST01
AS SELECT * FROM jobs;

 

 

 

컬럼(형태)만 복제하기

참고

 맞지않는 조건을 넣어주면 컬럼만 들어오게 된다.

 

형식

 CREATE TABLE 생성할 테이블명
 AS SELECT * FROM 복제할 테이블명

 WHERE 1=2;

 

예시

CREATE TABLE TB_TEST02
AS SELECT * FROM jobs
WHERE 1=2; -- 맞지않는 조건

 

 

 

원하는 컬럼만 복제하기

형식

 CREATE TABLE 생성할 테이블명
 AS SELECT 복제할 컬럼명1, 복제할 컬럼명2 FROM 복제할 테이블명

 

예시

CREATE TABLE TB_TEST03
AS SELECT job_id, job_title FROM jobs;

 

 

 

컬럼명 바꿔서 복제하기

형식

 CREATE TABLE 생성할 테이블명("바꿀 컬럼명1", "바꿀 컬럼명1")
 AS SELECT 복제할 컬럼명1, 복제할 컬럼명2 FROM 복제할 테이블명

 

예시

CREATE TABLE TB_TEST04("업무번호", "업무명")
AS SELECT job_id, job_title FROM jobs;

 

 

 

가장 많이 사용하는 예시

참고

 GROUP BY, 서브쿼리를 사용하지 않아도 그룹함수를 사용할 수 있게 된다.

-- 테이블 생성
CREATE TABLE TB_TEST05("부서번호", "총합계", "평균")
AS SELECT DEPARTMENT_ID, SUM(SALARY), AVG(SALARY) FROM EMPLOYEES
GROUP BY DEPARTMENT_ID;

-- 생성 후 JOIN
SELECT E.FIRST_NAME, E.SALARY, T."부서번호", T."총합계", T."평균"
FROM EMPLOYEES E, TB_TEST05 T
WHERE E.DEPARTMENT_ID = 50 AND T."부서번호" = 50;

+ Recent posts