본문 바로가기
내일배움캠프/회고록

6월 25일 화요일

by jhdevtrace 2024. 6. 25.

CASE ~ THEN

단순 CASE 표현식

단순 CASE 표현식에서는 단일 표현식을 기준으로 여러 값을 비교합니다. 표현식은 CASE 뒤에 오며, 각 WHEN 절에는 해당 표현식의 특정 값과 비교할 값이 나옵니다.

예시:

sql코드 복사
SELECT
    BOOLEAN_COLUMN,
    CASE BOOLEAN_COLUMN
        WHEN 0 THEN 'TRUE'
        WHEN 1 THEN 'FALSE'
        ELSE 'Unknown'
    END AS BOOLEAN_VALUE
FROM
    YOUR_TABLE;

여기서는 BOOLEAN_COLUMN이 0인지 1인지 검사합니다. CASE BOOLEAN_COLUMN은 이 컬럼의 값을 가져와 WHEN 절에 지정된 값들과 비교합니다.

검색된 CASE 표현식

검색된 CASE 표현식에서는 각 WHEN 절이 독립적인 조건을 평가합니다. CASE 뒤에는 표현식이 오지 않으며, 각 WHEN 절에서 특정 조건을 평가합니다.

예시:

sql코드 복사
SELECT
    ANIMAL_ID,
    NAME,
    CASE
        WHEN SEX_UPON_INTAKE LIKE '%Neutered%' OR SEX_UPON_INTAKE LIKE '%Spayed%' THEN 'O'
        ELSE 'X'
    END AS 중성화_여부
FROM
    ANIMAL_INS
ORDER BY
    ANIMAL_ID;

여기서는 SEX_UPON_INTAKE 컬럼의 값이 'Neutered' 또는 'Spayed'를 포함하는지 개별적으로 평가합니다. CASE 뒤에 표현식이 오지 않으며, 각 WHEN 절에서 조건을 검사합니다.

차이점 요약

  • 단순 CASE 표현식: CASE 뒤에 단일 표현식이 오며, 각 WHEN 절에서 해당 표현식의 값과 비교합니다.
  • sql코드 복사 CASE expression WHEN value1 THEN result1 WHEN value2 THEN result2 ... ELSE default_result END
  • 검색된 CASE 표현식: CASE 뒤에 표현식이 오지 않으며, 각 WHEN 절에서 독립적인 조건을 평가합니다.
  • sql코드 복사 CASE WHEN condition1 THEN result1 WHEN condition2 THEN result2 ... ELSE default_result END

따라서, 상황에 따라 단순 CASE 표현식과 검색된 CASE 표현식 중 적합한 형식을 사용하면 됩니다. 단순한 값 비교가 필요한 경우 단순 CASE 표현식을, 복잡한 조건을 평가해야 하는 경우 검색된 CASE 표현식을 사용하면 됩니다.

'내일배움캠프 > 회고록' 카테고리의 다른 글

7월 1일 월요일  (0) 2024.07.02
6월 26일 수요일  (0) 2024.06.27
6월 21일 금요일  (0) 2024.06.21
6월 20일 목요일  (0) 2024.06.20
6월 19일 수요일  (0) 2024.06.19