728x90
반응형
오라클 SQL과 PL/SQL | 서진수 - 교보문고
오라클 SQL과 PL/SQL | SQL과 PL/SQL에 대한 가장 쉽고 친절한 입문서SQL과 PL/SQL에 대한 내용은 방대하며 어려운 내용들이 많기 때문에 처음 공부하는 학습자는 스스로 공부하기가 쉽지 않다. 이 책은
product.kyobobook.co.kr
연습문제 5 pg.214
emp테이블을 사용하여 직원들의 급여와 전체 급여의 누적 급여금액이 아래와 같도록 출력하세요. 단, 급여를 오름차순으로 정렬해서 출력하세요.
SQL
반응형
1
2
|
select deptno, ename, sal, sum(sal) over(order by sal)
from emp;
|
cs |
실행 결과
연습문제 6 pg.214
fruit 테이블을 아래와 같은 형태로 출력하세요.
SQL
1
2
3
4
|
select sum(decode(name, 'apple', price)) "APPLE",
sum(decode(name, 'grape', price)) "GRAPE",
sum(decode(name, 'orange', price)) "ORANGE"
from fruit;
|
cs |
실행 결과
연습문제 7 pg. 214
student테이블의 tel 칼럼을 사용하여 아래와 같이 지역별 이누언수와 전체 대비 차지하는 비율을 출력하세요. 단 02-SEOUL, 031-GYEONGGI, 051-BUSAN, 052-ULSAN, 053-DAEGU, 055-GYEONGNAM으로 출력하세요.
SQL
1
2
3
4
5
6
7
8
|
select count(tel)||'EA'||' ('||round(count(tel)/count(tel)*100, 0)||'%)' "TOTAL",
count(decode(substr(tel, 0, instr(tel, ')')-1), '02', 0))||'EA'||' ('||round(count(decode(substr(tel, 0, instr(tel, ')')-1), '02', 0))/count(tel)*100, 0)||'%)' "SEOUL",
count(decode(substr(tel, 0, instr(tel, ')')-1), '031', 0))||'EA'||' ('||round(count(decode(substr(tel, 0, instr(tel, ')')-1), '031', 0))/count(tel)*100, 0)||'%)' "GYEONGGI",
count(decode(substr(tel, 0, instr(tel, ')')-1), '051', 0))||'EA'||' ('||round(count(decode(substr(tel, 0, instr(tel, ')')-1), '051', 0))/count(tel)*100, 0)||'%)' "BUSAN",
count(decode(substr(tel, 0, instr(tel, ')')-1), '052', 0))||'EA'||' ('||round(count(decode(substr(tel, 0, instr(tel, ')')-1), '052', 0))/count(tel)*100, 0)||'%)' "ULSAN",
count(decode(substr(tel, 0, instr(tel, ')')-1), '053', 0))||'EA'||' ('||round(count(decode(substr(tel, 0, instr(tel, ')')-1), '053', 0))/count(tel)*100, 0)||'%)' "DAEGU",
count(decode(substr(tel, 0, instr(tel, ')')-1), '055', 0))||'EA'||' ('||round(count(decode(substr(tel, 0, instr(tel, ')')-1), '055', 0))/count(tel)*100, 0)||'%)' "GYEONGNAM"
from student;
|
cs |
실행 결과
연습문제 8 pg.215
emp테이블을 사용하여 아래와 같이 부서별로 급여 누적 합계가 나오도록 출력하세요. 단, 부서 번호로 오름차순 출력하세요.
SQL
1
2
|
select deptno, ename, sal, sum(sal) over(partition by deptno order by sal) "TOTAL"
from emp;
|
cs |
실행 결과
연습문제 9 pg.215
emp테이블을 사용하여 아래와 같이 각 사원의 급여액이 전체 직원 급여 총액에서 몇%의 비율을 차지하는지 출력하세요. 단, 급여 비중이 높은 사람이 먼저 출력 되도록 하세요.
SQL
1
2
3
4
|
select deptno, ename, sal, sum(sal) over() "TOTAL_SAL", round(ratio_to_report(sum(sal)) over()*100, 2) "%"
from emp
group by deptno, ename, sal
order by sal desc;
|
cs |
실행 결과
728x90
반응형
'[SQL]다양한 예제로 쉽게 배우는 오라클 > 3장' 카테고리의 다른 글
[다양한 예제로 쉽게] 3장 연습문제 pg.218 (0) | 2023.01.04 |
---|---|
[다양한 예제로 쉽게] 3장 연습문제 pg.216~217 (0) | 2023.01.03 |
[다양한 예제로 쉽게] 3장 연습문제 pg.212~213 (0) | 2023.01.02 |