본문 바로가기
[ Developer ]/Oracle SQL

[SQL] CASE WHEN ELSE 쿼리 분기시키기

by 김현섭. 2016. 5. 19.
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
SQL - CASE WHEN ELSE
  • SQL에서 Switch Case와 같이 사용되는 것으로 이전에 공부한 DECODE와 비슷하다고 볼 수 있다
  • 하지만 DECODE는 지정한 값을 특정한 값으로 출력이 가능하지만 나머지 조건에 대해서 출력을 할 수 없다
  • CAE WHEN ELSE는 ELSE를 통해서 지정한 조건 외 나머지 값들을 출력이 가능하다
  • 아래의 예제로 살펴본다

기본적으로 HR 계정에서 정보를 출력할 때 
JOB_ID 별로 A, B, C, D, E 그리고 나머지는 0을 출력하고 싶다면
아래와 같이 CASE WHEN ELSE를 사용하면 된다

CASE로 비교할 컬럼명을 적고
WHEN으로 조건 THEN으로 값을 적어준다


switch case와 비슷하다
CASE WHEN ELSE는 사용자가 원하는데로 사용이 가능하다
만약 컬럼을 다 따로 하고 싶다면


위와 같이 입력도 가능하다
각각 다른 컬럼이라면 다른 컬럼으로 잡히게 된다


또한 조건에 쿼리를 넣을 수도 있다

CASE WHEN 그렇기 때문에 쿼리를 사용하기 위해 사용이 된다