If 문 방식
SELECT ename
, deptno
, CASE WHEN deptno = '10' THEN 'New York'
WHEN deptno = '20' THEN 'Dallas'
ELSE 'Unknown'
END AS loc_name
FROM emp
WHERE job = 'MANAGER'
CASE 표현식에서 ELSE 부분은 생략이 가능하며, 만족하는 조건이 없으면 NULL을 리턴한다. CASE 표현식은 SELECT 절, WHERE 절, PL/SQL 등 많은 부분에서 사용이 가능하다.
Switch 문 방식
SELECT ename
, deptno
, CASE deptno
WHEN 10 THEN 'New York'
WHEN 20 THEN 'Dallas'
ELSE 'Unknown'
END AS loc_name
FROM scott.emp
WHERE job = 'MANAGER'
CASE 표현식은 C, JAVA의 Swith문과 비슷한 방식으로 사용이 가능하다. CASE 뒤에 비교할 컬럼을 입력하고 WHEN 뒤에 값을 입력해 놓으면 된다. 단순 값만 비교할 때는 조금 더 쿼리문을 단순하게 표현할 수 있다.
출처 : https://gent.tistory.com/311
'공부 > 데이터베이스' 카테고리의 다른 글
[oracle] 프로시저, 함수 (1) | 2022.10.24 |
---|---|
[ORACLE] 시퀀스 (0) | 2022.10.24 |
[데이터베이스] mysql에서 text와 varchar의 차이 (0) | 2022.03.02 |
[데이터베이스] influxdb, 인플럭스디비 (0) | 2022.02.17 |
[데이터베이스] MongoDB (0) | 2022.01.20 |