본문 바로가기

컴퓨터 과학/데이터베이스

case when 표현식 사용법

반응형

HackerRank - type of triangle 정ㅇ답

 

SELECT
    CASE

        WHEN A = B AND B = C THEN 'Equilateral'
        WHEN A = B OR B = C OR A = C THEN 'Isosceles'
        WHEN A + B <= C OR B + C <= A OR A + C <= B THEN 'Not A Triangle'
        ELSE 'Scalene'
    END
FROM TRIANGLES;

 

 

오라클 데이터베이스에서 CASE WHEN 표현식은 조건에 따라 다른 결과를 반환하는데 사용됩니다. 이것은 주로 SELECT 문과 함께 사용되어 데이터를 변환하거나 필터링하는 데 유용합니다. CASE WHEN 표현식은 다음과 같은 일반적인 구문을 가집니다:

 

 

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

 

  • CASE 키워드로 시작하고, END 키워드로 종료됩니다.
  • WHEN 키워드를 사용하여 조건을 정의하고, 해당 조건이 참인 경우에는 해당 결과를 반환합니다.
  • 여러 WHEN 절을 사용하여 다양한 조건에 대한 결과를 정의할 수 있습니다.
  • ELSE 키워드를 사용하여 어떤 조건에도 해당하지 않을 때 반환할 기본값을 지정할 수 있습니다. 이 부분은 선택 사항입니다.

예를 들어, employees 테이블에서 급여에 따라 직원을 분류하는 쿼리를 작성한다고 가정해 보겠습니다:

 

SELECT
    employee_id,
    first_name,
    last_name,
    CASE
        WHEN salary < 30000 THEN 'Low Salary'
        WHEN salary >= 30000 AND salary < 60000 THEN 'Medium Salary'
        WHEN salary >= 60000 THEN 'High Salary'
        ELSE 'Unknown'
    END AS salary_category
FROM employees;

 

위 쿼리에서는 급여에 따라 직원을 "Low Salary", "Medium Salary", "High Salary" 또는 "Unknown" 카테고리로 분류합니다. CASE WHEN 표현식을 사용하여 조건에 따라 다른 결과를 반환할 수 있습니다.

이렇게 하면 조건에 따라 데이터를 가공하고 분류할 때 매우 유용하며, 복잡한 데이터 변환 및 필터링 작업에 활용됩니다.

반응형