1. EMP 테이블을 복사하여 new_emp3 테이블을 생성하시오.
CREATE TABLE new_emp3
AS
SELECT * FROM emp;

2. 위의 new_emp3 테이블에 sal + comm 값을 가지는 가상 컬럼 total을 추가하시오. 단 comm 값이 NULL일 경우 0으로 대체하시오.
ALTER TABLE new_emp3
ADD( total GENERATED ALWAYS AS( sal+NVL(comm, 0)));

3. new_emp3 테이블의 컬럼 중에서 hiredate 컬럼을 삭제하는 쿼리를 쓰세요.
ALTER TABLE new_emp3 DROP COLUMN hiredate;

4. new_emp3 테이블의 컬럼은 남겨 놓고 데이터만 지우는 쿼리를 쓰세요.
TRUNCATE TABLE new_emp3;

5. new_emp3 테이블을 완전히 삭제하는 쿼리를 쓰세요.
DROP TABLE new_emp3;

6. emp테이블과 구조가 같은 emp10, emp20 테이블을 만드시오.
[emp10]
CREATE TABLE emp10
AS
SELECT * FROM emp WHERE 1=2;
[emp20]
CREATE TABLE emp20
AS
SELECT * FROM emp WHERE 1=2;

7. emp 테이블에서 부서 번호가 10번인 사원들은 emp10에 부서 번호가 20인 사원들은 emp20에 삽입하시오.
INSERT INTO emp10
SELECT * FROM emp
WHERE deptno='10';
INSERT INTO emp20
SELECT * FROM emp
WHERE deptno='20';
[2개 행 한꺼번에 입력]
INSERT ALL
WHEN deptno='10' THEN INTO emp10 VALUES(empno, ename, job, mgr, hiredate, sal, comm, deptno)
WHEN deptno='20' THEN INTO emp20 VALUES(empno, ename, job, mgr, hiredate, sal, comm, deptno)
SELECT * FROM emp;


8. emp테이블에서 부서 번호가 30번 부서의 사람들을 읽어서 emp10, emp20 모두에 삽입하시오.
INSERT INTO emp10
SELECT * FROM emp WHERE deptno='30';
INSERT INTO emp20
SELECT * FROM emp WHERE deptno='30';

9. emp 테이블에서 10번 부서 사람들의 (empno, ename, deptno)로 emp10 테이블을 생성하시오.
CREATE TABLE emp10
AS
SELECT empno, ename, deptno FROM emp;

10. emp테이블의 20번 부서 사람들의 (empno, ename, deptno)로 emp20 테이블을 생성하시오.
CREATE TABLE emp20
AS
SELECT empno, ename, deptno FROM emp;

11. emp 테이블의 (empno, ename, deptno) 속성만을 가지는 emp_all 테이블 구조를 생성하시오.
CREATE TABLE emp_all
AS
SELECT empno, ename, deptno FROM emp WHERE 1=2;

12. emp_all 테이블로 emp10, emp20 을 합치시오.
MERGE INTO emp_all ea
USING emp10 e1
ON (e1.empno = ea.empno)
WHEN MATCHED THEN
UPDATE SET ea.deptno = e1.deptno
WHEN NOT MATCHED THEN
INSERT VALUES(e1. empno, e1.ename, e1.deptno);

❗ ON() 절에서 참조되는 열은 UPDATE 구문에 사용할 수 없다!_!

13. emp10에 사원 추가 (7999, ADD, 10) 하시오.
INSERT INTO emp10
VALUES('7999', 'ADD', '10');

14. emp20 테이블에 7902번 사원의 이름을 COCA로 변경하시오.
UPDATE emp20
SET ename='COCA'
WHERE empno='7902';

15. emp_all 테이블로 emp10, emp20 을 다시 합치고 결과를 확인하시오.
MERGE INTO emp_all ea
USING emp10 e1
ON (e1.empno = ea.empno)
WHEN MATCHED THEN
UPDATE SET
e1.ename = ea.ename,
e1.deptno = ea.deptno
WHEN NOT MATCHED THEN
INSERT VALUES(e1.empno, e1.ename, e1.deptno);
MERGE INTO emp_all ea
USING emp20 e2
ON (ea.empno = e2.empno)
WHEN MATCHED THEN
UPDATE SET
ea.ename = e2.ename,
ea.deptno = e2.deptno
WHEN NOT MATCHED THEN
INSERT VALUES(e2.empno, e2.ename, e2.deptno);
