과목 II SQL 기본 및 활용
제1장 SQL 기본
제6절 함수 (FUNCTION)
6. CASE 표현
[예제] 같은 기능을 하는 CASE 표현
일반 프로그램의 IF-THEN-ELSE-END 로직과 같다.
----------------------------------
IF SAL > 2000
THEN REVISED_SALARY = SAL
ELSE REVISED_SALARY = 2000
END-IF
----------------------------------
SELECT ENAME, CASE WHEN SAL > 2000 THEN SAL ELSE 2000 END REVISED_SALAR FROM EMP; |
급여(SAL)가 2000보다 크면 급여 값 그대로 2000보다 작으면 급여를 2000으로 해서 REVISED_SALAR 로 출력합니다.
[실행결과]
(14개 행이 영향을 받음)
[예제] 부서 정보에서 부서 위치를 미국의 동부, 중부, 서부로 구분하라.
SELECT LOC, CASE LOC WHEN 'NEW YORK' THEN 'EAST' END as AREA |
책에서 그 외는 ETC로 구분했는데 굳이 할 필요 없습니다.
[실행결과]
(4개 행이 영향을 받음)
[예제] 사원 정보에서 급여가 3000 이상이면 상등급으로, 1000 이상이면 중등급으로, 1000 미만이면 하등급으로 분류하라.
SELECT ENAME, |
[실행결과]
(14개 행이 영향을 받음)
[예제] 사원 정보에서 급여가 2000 이상이면 보너스를 1000으로, 1000 이상이면 5000으로, 1000 미만이면 0으로 계산한다.
SELECT ENAME, SAL, ELSE END) |
[실행결과]
(14개 행이 영향을 받음)
'SQL 전문가 가이드' 카테고리의 다른 글
NULL과 공집합 (0) | 2013.09.30 |
---|---|
NVL/ISNULL 함수 (2) | 2013.09.30 |
변환형 함수 (0) | 2013.09.27 |
날짜형 함수 (0) | 2013.09.27 |
숫자형 함수 (0) | 2013.09.27 |