-- 사원 테이블과 유사한 구조의 사원번호, 사원이름, 급여 3개의 칼럼으로 구성된
-- emp01 테이블을 생성해 보자.
create table emp01(
empno number(4),
ename varchar2(10),
sal number(7,2)
);
---------- create table ~as ~ : 테이블 복사! but 제약조건은 복사되지 않는다.
-- CREATE TABLE 명령어 다음에 컬럼을 일일이 정의하는 대신
-- AS 절을 추가하여 EMP 테이블과 동일한 내용과 구조를 갖는
-- EMP02 테이블을 생성해 봅시다.
CREATE TABLE EMP02 AS SELECT * FROM EMP;
desc emp02;
desc emp;
--서브 쿼리문의 SELECT 절에 * 대신
--원하는 컬럼명을 명시하면 기존 테이블에서 일부의 컬럼만 복사할 수 있습니다.
create table emp03
as
select empno, ename, sal from emp
;
desc emp03;
--서브 쿼리문의 SELECT 문을 구성할 때
-- WHERE 절을 추가하여 원하는 조건을 제시하면 기존 테이블에서 일부의 행만 복사합니다.
create table emp04
as
select * from emp where deptno=10
;
select * from emp04;
-- 테이블의 구조만 복사하는 것은 별도의 명령이 있는 것이 아닙니다.
--이 역시 서브 쿼리를 이용해야 하는데 WHERE 조건 절에 항상 거짓이 되는 조건을 지정하게 되면
--테이블에서 얻어질 수 있는 로우가 없게 되므로 빈 테이블이 생성되게 됩니다
create table emp05
as
select * from emp where 1=2
;
select * from emp05;