반응형
부서 번호, 평균 급여, 최고 급여, 최저 급여, 사원 수를 출력, 평균 급여를 출력할 때 소수점을 제외하고 각 부서별로 출력
SELECT DEPTNO,
TRUNC(AVG(SAL),0) AS AVG_SAL,
MAX(SAL) AS MAX_SAL,
MIN(SAL) AS MIN_SAL,
COUNT(SAL) AS CNT_SAL
FROM EMP
GROUP BY DEPTNO;
출력 결과
30 1566 2850 950 6
20 2175 3000 800 5
10 2916 5000 1300 3
같은 직책에 종사하는 사원이 3명 이상인 직책과 인원수
SELECT JOB, COUNT(*)
FROM EMP
GROUP BY JOB
HAVING COUNT(*) >= 3;
출력 결과
CLERK 4
SALESMAN 4
MANAGER 3
사원들의 입사 연도를 기준으로 부서별로 몇 명이 입사했는지 출력
SELECT TO_CHAR(HIREDATE,'YYYY') AS HIRE_YEAR, DEPTNO, COUNT(*) AS CNT
FROM EMP
GROUP BY
TO_CHAR(HIREDATE,'YYYY'), DEPTNO;
출력 결과
1987 20 2
1982 10 1
1980 20 1
1981 10 2
1981 20 2
1981 30 6
추가 수당을 받는 사원 수와 받지 않는 사원 수를 출력
SELECT
NVL2(COMM,'O','X') AS EXIST_COMM, COUNT(*) AS CNT
FROM EMP
GROUP BY NVL2(COMM,'O','X');
출력 결과
X 10
O 4
각 부서의 입사 연도별 사원 수, 최고 급여, 급여 합, 평균 급여를 출력하고 각 부서별 소계와 총계를 출력
SELECT
DEPTNO, TO_CHAR(HIREDATE,'YYYY') HIRE_YEAR, COUNT(*) AS CNT, MAX(SAL) AS MAX_SAL, SUM(SAL) AS SUM_SAL, AVG(SAL) AS AVG_SAL
FROM EMP
GROUP BY DEPTNO, ROLLUP(TO_CHAR(HIREDATE,'YYYY'));
출력 결과
10 1981 2 5000 7450 3725
10 1982 1 1300 1300 1300
10 3 5000 8750 2916.666666666666666666666666666666666667
20 1980 1 800 800 800
20 1981 2 3000 5975 2987.5
20 1987 2 3000 4100 2050
20 5 3000 10875 2175
30 1981 6 2850 9400 1566.666666666666666666666666666666666667
30 6 2850 9400 1566.666666666666666666666666666666666667
728x90
반응형
'Database' 카테고리의 다른 글
오라클로 배우는 데이터 베이스 - 둘째 마당 09 - 1 ~ 4번 (0) | 2025.05.02 |
---|---|
오라클로 배우는 데이터베이스 입문, 둘째 마당 08 - 1 ~ 4번 (0) | 2025.04.27 |
오라클로 배우는 데이터베이스 입문, 둘째 마당 06 - 1 ~ 4번 문제 (0) | 2025.04.27 |
오라클로 배우는 데이터베이스 입문, 둘째 마당 05 - 1 ~ 3번 (0) | 2025.04.27 |
오라클로 배우는 데이터베이스 입문, 둘째 마당 04 - 3번 (0) | 2025.04.27 |