국비 30일차_1

강지수·2024년 1월 25일
0

국비교육

목록 보기
58/97

지난 시간 복습



listagg 사용해서 출력 내용 꾸미기


백업


콘솔 백업

cmd 창에서

exp userid=hr/123456@xe file=c:\23dbbackup\hralltable.dump

hr계정 전체 백업


imp userid=hr/123456@xe file=c:\23dbbackup\hralltable.dump

hr계정 전체 복원


특정 테이블 백업/복원


복수 테이블 백업


테이블 삭제 꼼수

select 를 이용해서 명령어를 table로 만들고 복사 붙여넣기 후 실행


Check Option

check 옵션에 있는 data 이외에는 추가가 안됨.


check option 을 통해 범위제한을 줄 수도 있음.


Default Option

값을 안주고 insert 했을 때, default option 값이 들어간다


DB 끝


미션

-- 미션
select * from emppk;
select * from dept;
-- 26번 부서가 30번 부서이고 급여가 $1,500 이상인 사람의 이름, 부서, 월급을 출력하라.
select e.ename 이름, d.dname 부서, e.sal 월급 from emppk e,dept d where e.deptno=d.deptno and e.deptno=30 and e.sal>=1500;
-- 27번 이름의 첫 글자가 K로 시작하거나 부서번호가 30인 사람의 사원번호, 이름, 부서번호를 출력하라.
select empno 사원번호, ename 이름, deptno 부서번호 from emppk where ename like 'K%' or deptno=30;
-- 28번 급여가 $1500 이상이고 부서번호가 30번인 사원 중 직업이 MANAGER인 사람의 정보를 추력하라.
select * from emppk where job='MANAGER' and (sal>=1500 and deptno=30);
-- 29번 부서번호가 30인 사람 중 사원번호가 SORT.
select * from emppk where deptno=30 order by empno;
-- 30번 급여가 많은 순으로 SORT하라.
select * from emppk order by sal desc;
-- 31번 부서번호로 ASCENDING SORT  한 후 급여가 많은 사람 순으로 출력하라.
select * from emppk order by deptno, sal desc;
-- 32번 부서 번호가 DESCENDING SORT하고, 이름 순으로 ASCENDING SORT, 급여순으로 DESCENDING SORT 하라.
select * from emppk order by deptno desc, ename, sal desc;
-- 33번 EMP TABLE 에서 이름, 급여, 커미션 금액, 총액 (SAL + COMM) 을 구하여 총액이 많은 순서로 출력하라. 
-- 단 커미션이 NULL인 사람은 제외한다.
select ename 이름, sal 급여, comm "커미션 금액", sal+comm 총액 from emppk where comm is not null order by sal+comm desc;
-- 34번 10번 부서의 모든 사람들에게 급여의 13%를 보너스로 지불하기로 하였다. 이름, 급여, 보너스 금액, 부서번호를 출력하라.
select ename 이름, sal 급여, sal*0.13 "보너스 금액", deptno 부서번호 from emppk where deptno=10;
-- 35번 30번 부서의 연봉을 계산하여 이름, 부서번호, 급여, 연봉을 출력하라.
-- 단 연말에 급여의 150%를 보너스로 지급한다.
select ename 이름, deptno 부서번호, sal 급여, (sal*12)+(sal*150) 연봉 from emppk where deptno=30;
-- 36번 부서번호가 20인 부서의 시간당 임금을 계산하여 출력하라.
-- 단 1달의 근무일수가 12일이고, 1일 근무시간은 5시간이다.
-- 출력양식은 이름, 급여, 시간당 임금(소수이하 첫 번째 자리에서 반올림)을 출력하라.
select ename 이름, sal 급여, round(sal/(12*5),1) "시간당 임금" from emppk where deptno=20;
-- 37번 급여가 $1,500 부터 $ 3,000 사이의 사람은 급여가 15%를 회비로 지불하기로 하였다.
-- 이름, 급여, 회비(소수점 두 자리에서 반올림) 출력하라.
select ename 이름, sal 급여, sal*0.15 회비 from emppk where sal between 1500 and 3000;
-- 38번 급여가 $2,000 이상인 모든 사람은 급여가 15%를 경보비로 내기로 하였다.
-- 이름, 급여, 경조비 를 출력하라.
select ename 이름, sal 급여, sal*0.15 경조비 from emppk where sal>=2000;
-- 39번 입사일 부터 지금까지의 날짜수를 출력하라. 부서번호, 이름, 입사일, 현재일, 
-- 근무일수(소수점 이하 절삭), 근무년수, 근무월수(30일 기준), 근무주수를 출력하라.
select deptno 부서번호, ename 이름, hiredate 입사일, sysdate 현재일,
floor(sysdate-hiredate) 근무일수, floor((sysdate-hiredate)/365) 근무년수,
floor((sysdate-hiredate)/30) 근무월수, floor((sysdate-hiredate)/7)근무주수 from emppk;
-- 40번 모든 사원의 실수령액을 계산하여 출력하라. 
-- 단 급여가 많은 순으로 이름, 급여, 실수령액을 출력하라
-- (실수령액은 급여에 대해 10%의 세금을 뺸 금액)
select ename 이름, sal 급여, sal*0.9 실수령액 from emppk order by sal desc;

오전 끝

profile
개발자 준비의 준비준비중..

0개의 댓글