1. EMP 테이블에서 인원수,최대 급여,최소 급여,급여의 합을 계산하여 출력하는 SELECT 문장을 작성하여라.
SELECT COUNT(*) 인원수, MAX(SAL) "최대 급여",MIN(SAL) "최소급여",SUM(SAL) 급여총계 FROM EMP;
2. EMP 테이블에서 각 업무별로 최대 급여,최소 급여,급여의 합을 출력하는 SELECT 문장을 작성하여라.
SELECT JOB 업무,MAX(SAL) "최대 급여",MIN(SAL) "최소급여",SUM(SAL) 급여총계 FROM EMP
GROUP BY JOB;
3. EMP 테이블에서 업무별 인원수를 구하여 출력하는 SELECT 문장을 작성하여라.
SELECT JOB 업무,COUNT(*) 인원수 FROM EMP
GROUP BY JOB;
4. EMP 테이블에서 최고 급여와 최소 급여의 차이는 얼마인가 출력하는 SELECT 문장을 작성하여라.
SELECT MAX(SAL)-MIN(SAL) "급여차이" FROM EMP;
5. EMP 테이블에서 아래의 결과를 출력하는 SELECT 문장을 작성하여라.(group by)
H_YEAR COUNT(*) MIN(SAL) MAX(SAL) AVG(SAL) SUM(SAL)
------ --------- --------- --------- --------- ---------
87 2 1100 3000 2050 4100
81 10 950 5000 2282.5 22825
82 1 1300 1300 1300 1300
80 1 800 800 800 800
SELECT TO_CHAR(HIREDATE,'YY') "H_YEAR", COUNT(*), MIN(SAL), MAX(SAL), AVG(SAL), SUM(SAL) FROM EMP
GROUP BY TO_CHAR(HIREDATE,'YY');
6. EMP 테이블에서 아래의 결과를 출력하는 SELECT 문장을 작성하여라.(case,sum)
TOTAL 1980 1981 1982 1983
--------- --------- --------- --------- ---------
12 1 10 1 0
SELECT SUM(COUNT(HIREDATE)) TOTAL,
SUM(CASE TO_CHAR(HIREDATE,'YYYY') WHEN '1980' THEN COUNT(*) END) "1980",
SUM(CASE TO_CHAR(HIREDATE,'YYYY') WHEN '1981' THEN COUNT(*) END) "1981",
SUM(CASE TO_CHAR(HIREDATE,'YYYY') WHEN '1982' THEN COUNT(*) END) "1982",
SUM(CASE TO_CHAR(HIREDATE,'YYYY') WHEN '1987' THEN COUNT(*) END) "1987"
FROM EMP GROUP BY TO_CHAR(HIREDATE,'YYYY');
7. EMP 테이블에서 아래의 결과를 출력하는 SELECT 문장을 작성하여라.
JOB Deptno 10 Deptno 20 Deptno 30 Total
--------- --------- --------- --------- ---------
CLERK 1300 1900 950 4150
SALESMAN 5600 5600
PRESIDENT 5000 5000
MANAGER 2450 2975 2850 8275
ANALYST 6000 6000
① DECODE이용
SELECT
JOB,
SUM(NVL(DECODE(DEPTNO,10,SAL,NULL),NULL)) "DEPTNO 10",
SUM(NVL(DECODE(DEPTNO,20,SAL,NULL),NULL)) "DEPTNO 20",
SUM(NVL(DECODE(DEPTNO,30,SAL,NULL),NULL)) "DEPTNO 30",
SUM(SAL)
FROM EMP GROUP BY JOB;
② CASE이용
SELECT
JOB,
SUM(CASE DEPTNO
WHEN 10 THEN SAL END) "DEPTNO 10",
SUM(CASE DEPTNO
WHEN 20 THEN SAL END) "DEPTNO 20",
SUM(CASE DEPTNO
WHEN 30 THEN SAL END) "DEPTNO 30",
SUM(SAL)
FROM EMP GROUP BY JOB;
'RDB > Oracle' 카테고리의 다른 글
[오라클] 예제풀이 5 (0) | 2019.01.16 |
---|---|
[오라클]하위쿼리, 상관쿼리, 치환변수 (0) | 2019.01.16 |
[오라클] JOIN, OPERATOR (0) | 2019.01.16 |
[오라클] 예제풀이 3 (0) | 2019.01.16 |
[오라클] 숫자함수, 날짜함수, 문서함수, 그룹함수, 분석함수 (0) | 2019.01.16 |