반응형
CASE WHEN 은
SEELCT CASE WHEN 컬럼명 = 조건 THEN 조건이_맞을_시_값
WHEN 컬럼명 = 조건2 THEN 조건이_맞을_시_값
ELSE '조건이 맞지 않을 시 값' END AS 명명할_컬럼명
FROM 테이블
이런 식으로 사용하는데
예제를 통해 보자면
CASEWHENTB 테이블을 만들고 A,B,C,D 값을 넣은 뒤
CASE WHEN을 사용해서 A,B,C 일 경우 A,B,C입니다
A,B,C가 아닐 경우 A,B,C가 아닙니다가 나오게 해 놓았는데
CASE WHEN 부분에서 맞으면 THEN 부분의 값으로 출력되지만
맞는 경우가 없을 경우에는 ELSE의 값으로 출력된다
즉 CASE WHEN을 정리해 보자면
조건에 맞을 경우에는 THEN으로 그렇지 않을 경우에는 ELSE로 나오게 된다
여기서 ELSE를 작성하지 않을 경우에는 조건에 맞지 않는 값들이 모두 NULL로 나오게 된다
사용한 코드는 아래를 참고해주면 된다
CREATE TABLE CASEWHENTB( -- CASEWHENTB 테이블 생성
TEXT VARCHAR2(10)
)
INSERT INTO CASEWHENTB(TEXT) VALUES('A');
INSERT INTO CASEWHENTB(TEXT) VALUES('B');
INSERT INTO CASEWHENTB(TEXT) VALUES('C');
INSERT INTO CASEWHENTB(TEXT) VALUES('D'); -- CASEWHENTB 테이블에 A,B,C,D 삽입
SELECT CASE WHEN TEXT = 'A' THEN 'A입니다'
WHEN TEXT = 'B' THEN 'B입니다'
WHEN TEXT = 'C' THEN 'C입니다'
ELSE 'A,B,C가 아닙니다' END AS CASEWHENRESULT -- 조건에 맞는 값을 CASEWHENRESULT로 명명
FROM CASEWHENTB
반응형
'SQL > Oracle' 카테고리의 다른 글
오라클 scott 계정 활성화 및 접속방법 (0) | 2019.12.30 |
---|---|
오라클 함수(Function) 생성 및 문법, 실행, 조회까지 (0) | 2019.12.19 |
SQL CRUD(Create, Read, Update, Delete) 중에 뭐가 제일 어려워요? (0) | 2019.12.12 |
오라클 JOIN 예제 및 사용방법 (0) | 2019.12.10 |
오라클 MERGE INTO 사용법 & 예제 (0) | 2019.12.10 |
댓글