상세 컨텐츠

본문 제목

오라클 데이터베이스(Oracle Database) - CASE WHEN, THEN, 조건절

데이터베이스/Oracle

by JORDON 2023. 5. 24. 23:18

본문

반응형

1. 오라클 CASE WHEN이란?

 

오라클에서 데이터 조회 시 조건을 설정하거나 값을 변환하는 데 사용되는 문장 중 하나로, IF문이나 연산자의 기능을 대신하는 역할을 합니다. CASE문은 예약어를 사용해 그 형태와 사용법이 매우 간단하고 직관적이며, 복잡한 쿼리 작성 시 편리할 뿐만 아니라 여러 조건의 조합과 비교가 가능하므로 유연성도 높아 다양한 상황에서 활용하실 수 있습니다.

 

2. 오라클 CASE WHEN의 기본 구조

 

CASE WHEN 문의 기본적인 구조는 아래와 같습니다.

CASE WHEN 조건식1 
THEN 결과식1 
WHEN 조건식2 
THEN 결과식2 ... 
ELSE 기본 결과식 
END

 

CASE 구문을 사용할 때 조건식을 하나 이상 설정해주고, 그에 해당하는 결과값을 지정해줍니다. 또한 ELSE 구문을 통해 위의 조건식 중 어느 것에도 해당하지 않는 경우 최종 결과값을 지정할 수 있습니다. 결과는 결과값들 중에서 가장 우선순위가 높은 조건이 만족될 때까지 순차적으로 평가됩니다.

 

3. 오라클 CASE WHEN의 확장 구조

 

오라클에서 CASE WHEN 문을 좀 더 확장하여 사용하고 싶을 때가 있습니다. 이런 경우 쿼리문 내에 CASE 구문을 추가하여 복수의 조건을 구현할 수 있습니다.

CASE (optional_expression) 
WHEN 값1 THEN 결과식1 
WHEN 값2 THEN 결과식2 ... 
ELSE 기본 결과식 
END

 

이 확장 구조를 통해 변수 또는 표현식과 비교해 여러 값을 지정하여 문제를 해결할 수 있습니다.

 

4. CASE WHEN 사용 사례

 

오라클 CASE WHEN 문의 다양한 사용 사례를 살펴보겠습니다.

예시1) 고객의 나이에 따른 VIP 등급 결정

SELECT 등급 = CASE WHEN 나이 >= 60 THEN 'Gold' WHEN 나이 >= 45 THEN 'Silver' WHEN 나이 >= 30 THEN 'Bronze' ELSE 'Normal' END FROM 고객;

 

예시2) 평균 점수에 따른 학점 부여

SELECT 학번, 이름, 
학점 = CASE WHEN 평균점수 >= 90 THEN 'A' 
WHEN 평균점수 >= 80 THEN 'B' 
WHEN 평균점수 >= 70 THEN 'C' 
ELSE 'D' 
END 
FROM 학생;

 

5. 결론

 

오라클의 CASE WHEN 문은 복잡한 쿼리를 작성할 때 사용되어 조건식의 조합과 비교에 따라 다양한 결과를 도출할 수 있습니다. 값 변환 및 조건부 결정까지 가능해 유연한 데이터 처리에 적합한 구조로서 다양한 환경에서 빈번하게 사용하실 수 있습니다. 오라클 CASE WHEN 문에 익숙해지고 활용하여 효과적인 데이터 처리와 관리를 지향해 보세요.

반응형

관련글 더보기

댓글 영역