본문 바로가기
내가 공부하려고 올리는/DB

오라클 - CASE 함수 사용해보기

by 결딴력 2021. 11. 18.
반응형

오라클의 CASE 함수를 사용하면

DECODE로 처리하던 쿼리문을 보다 간단하게 만들 수 있습니다.

 

 

실습해보기

1. TEMP 테이블을 이용해 연봉이 30,000,000 이하는 'D',

                                           30,000,000 초과 50,000,000 이하는 'C',

                                           50,000,000 초과 70,000,000 이하는 'B';

                                           70,000,000 초과는 'A'라고 등급을 출력하고,

   등급별 인원수를 구해보자(CASE 함수 사용)

실행 결과

  • CASE 함수의 기본형식
SELECT CASE WHEN '컬럼명1' [조건] THEN '결과값'
           CASE WHEN '컬럼명2' [조건] THEN '결과값'
                                         .
                                         .
                                         .
           CASE WHEN '컬럼명N' [조건] THEN '결과값' END
 FROM 테이블명;
  • CASE WHEN 뒤에 조건을 부여한다.

 

 

 

2. 행 단위로 나오는 DATA SET을 컬럼 단위로 표현해보자

실행 결과

  • COUNT 함수를 행마다 사용하고 END로 구문마다 종료해준다.
  • ALIAS 명을 주어 DATA SET을 보다 직관적으로 만든다.

 

 

 

3. SALE_HIST 테이블을 이용해 일자별, 품목별로 '01', '02' 사업장 판매 금액의 합과

   '02', '03' 사업자 판매 금액의 합을 구해보자(CASE 함수 이용)

실행 결과

  • 판매장의 코드가 '01'과 '02' 사이인 경우 판매액을 가져와서 더하고,
    판매장의 코드가 '02'와 '03' 사이인 경우 판매액을 가져와서 더하는 쿼리문을
    CASE 함수를 사용해 구현할 수 있다.

 

 

반응형

댓글