085 서브 쿼리를 사용하여 데이터 입력하기
-- emp800이라는 테이블 생성하기
create table emp800
( empno number(10),
ename varchar2(10),
job varchar2(10),
sal number(10) );
-- emp800에 서브쿼리문을 사용한 insert문으로 데이터를 입력 (values 사용하지 않음)
insert into emp800(empno, ename, job, sal)
select empno, ename, job, sal
from emp
where job = 'SALESMAN';
/* 보통 데이터를 넣는 방법(한 건씩)
insert into emp800(empno, ename, job, sal)
vwlues (9283, 'ALLEN','SALESMAN',3400); */
문제421. emp테이블을 emp_backup2이름으로 백업하시오
create table emp_backup2
as
select *
from emp;
문제422. emp_backup2를 truncate 하시오
truncate table emp_backup2;
현업에서는 데이터가 계속해서 새로 쌓이고 변경이 되므로 원본(emp)에 대한 백업본(emp_backup2)도 항상 원본과 똑같을 수 있도록 유지되어야함.
문제423. emp테이블의 모든 데이터를 emp_backup2테이블에 입력하시오
insert into emp_backup2
select *
from emp;
-- 현업에서는 컬럼을 명확하게 보기 위해 컬럼을 다 입력함
insert into emp_backup2(empno, ename, sal, job, mgr, hiredate, comm, deptno)
select empno, ename, sal, job, mgr, hiredate, comm, deptno
from emp;
문제424. dept테이블을 백업하시오(백업 테이블명은 dept_backup입니다)
create table dept_backup
as
select *
from dept;
문제425. dept테이블에 아래의 데이터를 입력하시오
부서번호 : 50 / 부서명 : transfer / 부서위치 : SEOUL
insert into dept(deptno, dname, loc)
values(50, 'TRANSFER','SEOUL');
dept테이블과 dept_backup테이블의 내용이 서로 다름.
문제426. dept테이블과 dept_backup테이블의 데이터 차이가 어떻게 되는지 차이나는 데이터를 출력하시오
select *
from dept
minus
select *
from dept_backup;
문제427. 위의 차이가 나는 데이터를 dept_backup테이블에 입력하시오
insert into dept_backup
select *
from dept
minus
select *
from dept_backup;
-- dept테이블에 변경된 데이터들만 dept_backup 테이블에 입력함
문제428. emp테이블을 emp_backup3 이름으로 백업하시오
create table emp_backup3
as
select *
from emp;
문제429. emp테이블에 아래의 데이터를 입력하시오
사원번호 : 9392 / 사원이름 : JANE / 월급 : 6000 / 부서번호 : 30
insert into emp(empno, ename, sal, deptno)
values (9392, 'JANE',6000,30);
문제430. (오늘의 마지막 문제) emp테이블에는 존재하는 데이터인데 emp_backup테이블에는 존재하지 않는 데이터를 emp_backup테이블에 입력하시오
insert into emp_backup3
select *
from emp
minus
select *
from emp_backup3;
반응형
'Study > class note' 카테고리의 다른 글
sql중급 / 계층형 질의문1,2 (0) | 2021.11.22 |
---|---|
sql중급 / 서브쿼리를 사용한 update, delete, merge (0) | 2021.11.22 |
sql 중급 / DML(commit, rollback, merge, lock, select for update) (0) | 2021.11.18 |
sql중급 / DML문(insert, update, delete) (0) | 2021.11.17 |
sql중급 / subquery ( select절) (0) | 2021.11.17 |