< 부서번호별 급여의 합을 구하세요. >
<문제> 아래와 같이 나타내세요
<예>
10 2343
20 5346
30 8472
1)
SELECT DEPTNO,SUM(SAL) -- 합을 보겠다.
FROM TBL_NEWSAWON
GROUP BY DEPTNO; --DEPTNO 의
<결과>
DEPTNO SUM(SAL)
30 19800
1200
20 14000
10 16000
2)
SELECT DEPTNO,SUM(SAL)
FROM TBL_NEWSAWON
GROUP BY DEPTNO;
<결과>
DEPTNO SUM(SAL)
30 19800
1200
20 14000
10 16000
--------------------------------------------------
SELECT COUNT(*)
FROM TBL_NEWSAWON;
--WHERE 절은 쓰지 않는다. 남자 아니면 여자이니까
-- 컬럼은 널이 없기에 * 표현한다.
<문제>
TBL_NEWSAWON 테이블에서 남,녀별 인원수를 구하세요.
테이블 안에 성별컬럼이 없으니까 만들면 된다.
1)
SELECT T.GENDER AS "성별", COUNT(*) AS "인원수"
FROM
(
SELECT CASE
WHEN SUBSTR(JUBUN,7,1) IN ('1','3') THEN '남'
ELSE '여' END AS "GENDER"
FROM TBL_NEWSAWON
) T
GROUP BY T.GENDER;
<결과>
성별 인원수
남 10
여 9
-------------------------------------------------------------
<문제>
TBL_NEWSAWON 테이블에서 연령대별 인원수를 구하세요.
연령대 컬럼을 만들면 된다.
1)
SELECT T."연령대", COUNT(*) AS "인원수"
FROM
(
SELECT TRUNC(
EXTRACT(YEAR FROM SYSDATE) -
CASE WHEN SUBSTR(JUBUN, 7, 1) IN ('1','2')
THEN TO_NUMBER( SUBSTR(JUBUN, 1, 2) ) + 1900
ELSE TO_NUMBER( SUBSTR(JUBUN, 1, 2) ) + 2000
END + 1, -1) AS "연령대"
FROM TBL_NEWSAWON
) T
GROUP BY T."연령대"
ORDER BY 1;
<결과>
연령대 인원수
0 3
10 5
20 4
30 5
40 1
50 1
----------------------------------------------------
<문제> 아래와 같이 나타내세요
----------------------------
연령대 성별 인원수
----------------------------
---------------------------
20 남 3
20 여 1
---------------------------
1)
SELECT T."연령대", T."성별", COUNT(*) AS "인원수"
FROM
(
SELECT TRUNC(
EXTRACT(YEAR FROM SYSDATE) -
CASE WHEN SUBSTR(JUBUN, 7, 1) IN ('1','2')
THEN TO_NUMBER( SUBSTR(JUBUN, 1, 2) ) + 1900
ELSE TO_NUMBER( SUBSTR(JUBUN, 1, 2) ) + 2000
END + 1, -1) AS "연령대",
CASE
WHEN SUBSTR(JUBUN,7,1) IN ('1','3') THEN '남'
ELSE '여' END AS "성별"
FROM TBL_NEWSAWON
) T
GROUP BY T."연령대", T."성별"
ORDER BY 1;
<값>
연령대 성별 인원수
0 여 3
10 남 4
10 여 1
20 남 1
20 여 3
30 남 4
30 여 1
40 남 1
50 여 1
----------------------------------------------------------------------------
'IT. 컴퓨터' 카테고리의 다른 글
[오라클] 단일행함수(숫자함수, 문자함수, 날짜함수) (0) | 2020.07.28 |
---|---|
[오라클] 뷰테이블 조회 VIEW_NEWSAWON (0) | 2020.07.02 |
[오라클]] INLINE VIEW (0) | 2020.06.29 |
[오라클] case, decode, case when then else end (0) | 2020.06.20 |
[오라클] 날짜함수, 변환함수 (0) | 2020.06.18 |