Coding Planet
[SQLD] CASE 표현식 : SEARCHED CASE와 SIMPLE CASE - 노랭이 43번 본문
반응형
CASE 표현식은 SQL에서 조건에 따라 다른 값을 반환하는 데 사용되는 조건 연산자이다. CASE 표현식에서 SEARCHED CASE와 SIMPLE CASE 두 가지 형태가 있다.
| SIMPLE CASE
- 특정 컬럼 또는 표현식의 값에 따라 결과를 정한다.
- CASE 뒤에 특정 컬럼 또는 표현식이 오면 그 값이 WHEN에 지정된 값과 일치하는 지를 확인한다.
- 기본 형식은 아래와 같다.
CASE expression
WHEN value1 THEN result1
WHEN value2 THEN result2
...
ELSE default_result
END
CASE grade
WHEN 'A' THEN 'Excellent'
WHEN 'B' THEN 'Good'
ELSE 'Average'
END
| SEARCHED CASE
- 특정 조건이 참인지 거짓인지에 따라 결과를 결정한다.
- CASE 뒤에 특정 컬럼 또는 표현식이 오지 않는다. 대신 각 WHEN절은 참/거짓을 판단할 수 있는 조건을 포함한다.
- 어떠한 조건(condition)을 만족할 경우return 값이 정해진다.
- 아래 예시에는 CASE 뒤에 특정 컬럼이나 조건이 없다. WHEN절에 참/거짓을 판단할 수 있는 조건이 온다.
CASE
WHEN age < 20 THEN 'Teenager'
WHEN age < 30 THEN 'Twenties'
WHEN age < 40 THEN 'Thirties'
ELSE 'Older'
END
| 43번
- SEARCHED_CASE_EXPRESSION을 SIMPLE_CASE_EXPRESSION으로 바꾸는 문제이다.
- CASE 두에 특정 컬럼인 LOC을 붙이고 WHEN/THEN으로 간단히 표현한다.
//SEARCHED_CASE_EXPRESSION 문장 사례
SELECT LOC,
CASE WHEN LOC = 'NEW YORK' THEN 'EAST' // 참-거짓 판별가능
ELSE 'ETC'
END AS AREA
FROM DEPT;
//SIMPLE_CASE_EXPRESSION
SELECT LOC,
CASE LOC WHEN 'NEW YORK' THEN 'EAST'
ELSE 'ETC'
END AS AREA
FROM DEPT;
반응형
'DB, SQL' 카테고리의 다른 글
[SQLD] 노랭이 66번 풀이 - EXISTS, NOT EXISTS, RIGHT OUTER JOIN, LEFT OUTER JOIN (0) | 2023.09.03 |
---|---|
[SQLD] 단일행 NULL관련 함수들(NVL, ISNULL, NULLIF, COALESCE) (0) | 2023.09.03 |
[SQLD] SQL 자격검정 실전문제(노랭이) - 41번 문제 풀이 (0) | 2023.09.01 |
[SQLD] SQL 연산자의 우선순위 - SQLD 기출문제 포함 (0) | 2023.09.01 |
[SQLD] 데이터베이스에서 트랜잭션의 격리성(Isolation)이 낮은 경우 발생하는 문제점들 (0) | 2023.08.31 |
Comments