테이블 복제
참고
기본키와 외래키는 가져오지 않는다.
오리지널 테이블에 영향을 주지 않는다.
컬럼 + 데이터 복제하기
형식
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;
'IT > SQL' 카테고리의 다른 글
[Oracle DB SQL] 무결성/기본키/외래키/고유키/CHECK/NOT NULL/무결성 삭제 (0) | 2021.05.31 |
---|---|
[Oracle DB SQL] 테이블 수정하기/테이블명 변경/ 컬럼 추가/컬럼 수정/ 컬럼 삭제/휴지통 비우기 (0) | 2021.05.31 |
[Oracle DB SQL] SQL 정의 (0) | 2021.05.30 |
[Oracle DB SQL] OVER()/PARTITION BY/분석함수/RANK() /DENSE_RANK()/ROW_NUMBER()/ROWNUM (0) | 2021.05.29 |
[Oracle DB SQL] 조건문/CASE WHEN THEN/DECODE (0) | 2021.05.29 |