반응형
250x250
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- PLSQL
- java Animal
- java string
- java 단축키
- sqld 자격증
- java spider
- JAVA for문
- java 구구단
- sqld trigger
- java 성별
- sqld deny
- SQLD 자격시험 개념정리
- java 상속
- java Fish
- JAVA 제어문
- java 함수
- java
- SQLD 옵티마이저
- sqld revoke
- sqld grant
- Java 메소드
- SQL
- JAVA 연산자
- SQLD 특강
- sqld remame
- SQLD 핵심포인트
- java 논리연산자
- sqld 옵티마이져
- java 로또
- Java Cat
Archives
- Today
- Total
SQLD, ECLIPS, JAVA,PYTHON, NODE....
[Oracle] SQL-[다중행함수] 그룹-과제1 본문
728x90
반응형
SMALL
Group Function
1. EMP테이블에서 모든 SALESMAN에 대하여 급여의 평균, 최고액, 최저액, 합계를 구하여 출력하라.
SQL> select avg(sal) 급여평균, max(sal) 최고액, min(sal) 최저액, sum(sal) 합계 from emp
where job='SALESMAN';
2. EMP 테이블에 등록되어 있는 인원수,COMM의 합계,전체 사원의 COMM 평균, 등록되어 있는 부서의 수를 구하여 출력하라.
SQL> select count(*) 인원수, sum(comm) COMM합계, avg(nvl(comm,0)) COMM평균, count(distinct deptno) 등록된부서수 from emp;
3. 부서별로 인원수, 평균급여, 최저 급여, 최고 급여를 구하여라.
SQL> select deptno 부서번호, count(*) "인원수", avg(sal) "평균급여", min(sal) "최저급여", max(sal) "최고급여" from emp group by deptno;
4. 3번 문제에서 최대 급여가 3000 이상인 부서별로 출력하라.
SQL> select deptno 부서번호, count(*) "인원수", avg(sal) "평균급여", min(sal) "최저급여", max(sal) "최고급여" from emp
group by deptno having max(sal)>=3000;
5. 10번과 30번 부서에서 업무별 최소급여가 1500 이하인 업무와 최소급여를 출력하라.
SQL> select deptno "부서번호", job "업무", min(sal) "최소급여" from emp
where deptno=10 or deptno=30 group by deptno,job having min(sal)<=1500;
6. 부서별 인원이 4명 이상인 부서별 인원수, 급여의 합을 출력하라.
SQL> select deptno "부서번호", count(*) "인원수", sum(sal) "급여합" from emp
group by deptno having count(*)>=4;
SQL> select deptno "부서번호", count(*) "인원수", sum(sal) "급여합" from emp
group by deptno having count(*)>=4;
7. 전체 급여가 5000을 초과하는 각 업무에 대해 업무와 급여 합계를 출력하라. 단, SALESMAN은 제외하고 급여 합계를 내림차순으로 정렬하라.
SQL> select job "업무", sum(sal) "급여합계" from emp where job!='SALESMAN'
group by job
having sum(sal)>5000 order by 2 desc;
SQL> select job "업무", sum(sal) "급여합계" from emp where job!='SALESMAN'
group by job
having sum(sal)>5000 order by 2 desc;
8. 부서별 평균 중 최대평균급여, 부서별 급여의 합 중 최대급여, 전체 급여에서 최소 급여, 전체 급여 에서 최대 급여를 출력하라.
SQL> select max(avg(sal)) "최대평균급여", max(sum(sal)) "최대급여합", min(min(sal)) "최소급여", max(max(sal)) "최대급여" from emp
group by deptno;
SQL> select max(avg(sal)) "최대평균급여", max(sum(sal)) "최대급여합", min(min(sal)) "최소급여", max(max(sal)) "최대급여" from emp
group by deptno;
9. 부서별 업무별 급여의 평균을 출력하는 SELECT문장을 작성하라. (세자리 구분기호) (HARD)
JOB | DEPTNO 10 | DEPTNO 20 | DEPTNO 30 | TOTAL |
ANALYST | 3,000 | 3,000 | ||
CLERK | 1,300 | 950 | 950 | 1,038 |
MANAGER | 2,450 | 2,975 | 2,850 | 2,758 |
PRESIDENT | 5,000 | 5,000 | ||
SALESMAN | 1,400 | 1,400 |
group by job;
10. 급여가 1000 이하인 인원수,1001에서 2000 사이의 인원수,2001에서 3000 사이의 인원수,3000 초과인 인원수를 출력하시오.
3000 초과 | 3000~2001 | 2000~1001 | 1000 이하 |
11. 부서와 업무의 그룹별 인원 수와 부서와 매니저의 그룹별 인원수를 함께 출력.(Grouping sets 이용)
SQL> select deptno, job, sum(sal) from emp group by cube(deptno, job)
order by grouping(job) desc, grouping(deptno) desc;
12. 전체합계, 부서별 합계, 업무별 합계,업무별 부서별 합계 순서로 출력하라.
SQL> select deptno, job, sum(sal) from emp group by cube(deptno, job)
order by grouping(job) desc, grouping(deptno) desc;
13. 부서별 매니저별 합계, 부서별 합계, 전체 합계 순서로 출력하라.
SQL> select deptno, mgr, sum(sal), grouping(mgr) 부서별, grouping(deptno) 전체합계 from emp
group by rollup(deptno,(deptno,mgr));
SQL> select deptno, mgr, sum(sal), grouping(mgr) 부서별, grouping(deptno) 전체합계 from emp
group by rollup(deptno,(deptno,mgr));
14. 직위가 동일한 사람의 수를 표시하는 질의를 작성한다.
SQL> select job, count(*) from emp group by job;
15. 관리자 목록 없이 관리자 수만 표시하고 열 이름을 Number Of Managers로 지정한다.
SQL> select count(distinct mgr) "Number Of Managers" from emp;
SQL> select job, count(*) from emp group by job;
15. 관리자 목록 없이 관리자 수만 표시하고 열 이름을 Number Of Managers로 지정한다.
SQL> select count(distinct mgr) "Number Of Managers" from emp;
728x90
반응형
LIST
'SQL' 카테고리의 다른 글
[Oracle] SQL- DML 객체, DCL 객체 (1) | 2023.11.09 |
---|---|
[Oracle] SQL - [고급쿼리] 다중행함수-조인(join) (0) | 2023.11.09 |
[Oracle] SQL Class 11.2 - 메모장 ANSI 설정. (0) | 2023.11.08 |
[Oracle] SQL Class 11.1 - [보안객체] privilege, Role, Synonym (0) | 2023.11.08 |
[Oracle] SQL Class 10 - TCL, 시퀀스, view, 사용자 정의 view, Index (0) | 2023.11.07 |