본문 바로가기
Database/SQL

[SQL] 오라클 CASE WHEN THEN 표현식 사용하기

by 초코볼 2019. 5. 16.
반응형

SQL을 이용하여 데이터를 출력할 때 조건을 사용하여 표현할 수 있는 CASE문이 존재합니다.

DECODE 함수와 비슷하지만 더욱 확장적입니다.

사용 방법은 그렇게 어렵지 않지만 DECODE보다는 조금 복잡할 수 있지만,

CASE문이 조건을 사용할 때 부합하기때문에 꼭 알아두셔야되는 조건식입니다.

 

 

[SQL] CASE WHEN THEN ELSE END 사용 방법

 

 

 

CASE문 사용 방법


SELECT
 CASE
  WHEN '조건' THEN '조건에 만족할 때 출력할 데이터'
  ELSE '조건에 만족하지 않을 때 출력 데이터'
 END
FROM 테이블;

 

CASE문의 구성 예제 화면이며 상단과 같이 사용할 수 있습니다.

WHEN & THEN은 여러개를 입력할 수 있어서 다중으로 조건을 설정할 수도 있습니다.

 

 

 

상단의 화면에는 사용자(NAME)와 직위(RANK)라는 컬럼이 존재합니다.

데이터가 출력된 화면에서 추가로 조건에 맞는 데이터가 출력하고 싶을 때

CASE문을 사용하여 출력할 수 있습니다.

상단의 출력 데이터에 추가로 직위별로 급여를 출력해보도록 하겠습니다.

급여내역의 조건과 값은 아래와 같이 출력하겠습니다.

직위가 사원이면 2,000,000

직위가 대리이면 2,500,000

직위가 부장이면 3,500,000 

 

 

 

CASE문을 사용하여 직급이라는 컬럼과 데이터를 출력하였습니다.

내용을 확인해보면 아래와 같습니다.

CASE
 WHEN RANK = '사원' [조건식1] THEN 2000000 [조건식1 만족시 출력데이터]
 WHEN RANK = '대리' [조건식2] THEN 2500000 [조건식2 만족시 출력데이터]
 ELSE 3500000[조건에 만족하지 않을 때 출력데이터] END
AS 급여[컬럼명]

WHEN THEN 조건문이나 출력 데이터에 연산도 가능하기 때문에

다방면으로 사용이 가능합니다.

 

 

 

※ 관련 포스팅

 

반응형

댓글