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 |