[Database] MySQL 제어 함수 - CASE


CASE 연산자

  • 속성이름의 값이 WHEN 절의 값과 같으면 반환값을 반환
  • 예외반환값은 WHEN 절의 모든 값과 같지 않은 경우 반환되는 값
  • 기본 형식 1
CASE 속성이름
    WHEN 1 THEN 반환값1
    .......
    WHEN n THEN 반환값n
    [ ELSE 예외반환값 ]
END
  • 기본 형식 2
CASE
    WHEN 조건1 THEN 반환값1
    .......
    WHEN 조건n THEN 반환값n
    [ ELSE 예외반환값 ]
END
  • Customer 테이블 데이터

Customer에서 계정에 대한 등급을 확인하되, 등급을 VIP는 최우수고객, Gold는 우수고객, Silver는 일반고객, New는 새내기, NULL인 경우 자료없음으로 표기하시오.

SELECT account,
    CASE grade WHEN 'Gold' THEN '우수고객'
               WHEN 'Silver' THEN '일반고객'
               WHEN 'New' THEN '새내기'
               WHEN 'VIP' THEN '최우수고객'
               ELSE '자료없음'
    END AS '등급'
FROM customer;
  • 위 쿼리의 결과