728x90
--GROUP문제
--문제1) EMPLOYEES 테이블에서 모든 SALESMAN(SA_MAN)에 대하여 급여의
--평균, 최고액, 최저액, 합계를 구하여 출력하여라.
SELECT avg(salary), max(salary), min(salary), sum(salary)
FROM employees
WHERE job_id = 'SA_MAN';
--문제2) EMPLOYEES 테이블에 등록되어 있는 인원수, 보너스가 NULL이 아닌
--인원수, 보너스의 평균, 등록되어 있는 부서의 수를 구하여 출력하라.
SELECT count(*),count(commission_pct), avg(commission_pct * salary) , count(DISTINCT department_id)
FROM employees
WHERE commission_pct is not null;
SELECT
*
FROM employees;
--문제3) EMPLOYEES 테이블에서 부서별로 인원수, 평균 급여, 최저급여, 최고
--급여, 급여의 합을 구하여 출력하라.
SELECT department_id, count(department_id), trunc(avg(salary)), min(salary), max(salary), sum(salary)
FROM employees
GROUP BY department_id
ORDER BY department_id ASC;
--문제4) EMPLOYEES 테이블에서 각 부서별로 인원수,급여의 평균, 최저 급여,
--최고 급여, 급여의 합을 구하여 급여의 합이 많은 순으로 출력하여라.
SELECT count(department_id),avg(salary) ,min(salary), max(salary), sum(salary) AS "급여의합"
FROM employees
GROUP BY department_id
ORDER BY "급여의합" DESC;
--문제5) EMPLOYEES 테이블에서 부서별, 업무별 그룹하여 결과를 부서번호, 업
--무, 인원수, 급여의 평균, 급여의 합을 구하여 출력하여라.
SELECT department_id, job_id, count(*), trunc(avg(salary)), sum(salary)
FROM employees
GROUP BY department_id, job_id;
--문제6) EMPLOYEES 테이블에서 부서 인원이 4명보다 많은 부서의 부서번호,
--인원수, 급여의 합을 구하여 출력하여라.(GROUP BY, HAVING)
SELECT department_id, count(*), sum(salary)
FROM employees
GROUP BY department_id
HAVING count(*) > 4;
--문제7) EMPLOYEES 테이블에서 급여가 최대 10000이상인 부서에 대해서 부
--서번호, 평균 급여, 급여의 합을 구하여 출력하여라.
SELECT department_id, trunc(avg(salary)), sum(salary)
FROM employees
GROUP BY department_id
HAVING MAX(salary) >= 10000;
--문제8) EMPLOYEES 테이블에서 업무별 급여의 평균이 10000 이상인 업무에
--대해서 업무명,평균 급여, 급여의 합을 구하여 출력하라.
SELECT job_id, trunc(avg(salary)), sum(salary)
FROM employees
GROUP BY job_id
HAVING AVG(salary)>=10000;
--문제9) EMPLOYEES 테이블에서 전체 월급이 10000을 초과하는 각 업무에 대
--해서 업무와 급여 합계를 출력하라. 단 판매원(SA_)은 제외하고 월 급여 합계
--로 정렬(내림차순)하라
SELECT job_id, sum(salary)
FROM employees
WHERE job_id NOT LIKE 'SA_%'
GROUP BY job_id
HAVING AVG(salary)>10000
ORDER BY sum(salary) DESC;
728x90
'데이터베이스' 카테고리의 다른 글
23일차//[Oracle] JOIN (0) | 2021.02.10 |
---|---|
22일차//[Oracle] 과제 4- (ORDER, GROUP BY) SCOTT (0) | 2021.02.10 |
22일차//[Oracle] 과제 2 - 내장함수 문제 (0) | 2021.02.10 |
22일차//[Oracle] 과제 1- (ORDER BY) (0) | 2021.02.09 |
22일차//[Oracle] 각종 내장 함수(round(), trunc(), trim() 등) (0) | 2021.02.09 |