SQLD/SQL 기본과 활용

SQL(Oracle&SQL Server)의 CASE 표현

DevPing9_ 2020. 8. 19. 17:12
/*
CASE 컬럼명|표현식 
	WHEN 조건식1 THEN 결과1
    WHEN 조건식2 THEN 결과2
           .......
    ELSE 결과 (ELSE값이 없으면 NULL리턴)
END
*/

# Oracle & SQL Server (1)
SELECT ORDER, CASE 
              WHEN ORDER = 'Fired Chicken' THEN '후라이드 치킨'
              WHEN ORDER = 'Seasoned Chicken' THEN '양념 치킨'
              ELSE '현재 재고없음. 주문 다시받으세요'
             END AS KITCHEN
   FROM RESTAURANT;
   
# Oracle & SQL Server (2)
SELECT ORDER, CASE ORDER
              WHEN 'Fired Chicken' THEN '후라이드 치킨'
              WHEN 'Seasoned Chicken' THEN '양념 치킨'
              ELSE '현재 재고없음. 주문 다시받으세요'
             END AS KITCHEN
   FROM RESTAURANT;
   
 # 실행결과 [(1),(2) 모두 같은결과 출력]
 ORDER                            KITCHEN
 ---------------------           -----------------
 Fried Chicken                   후라이드 치킨
 Rice Noodle                     현재 재고없음. 주문 다시받으세요
 Fried Seasoned Rice             현재 재고없음. 주문 다시받으세요
 Seasoned Chicken                양념 치킨
            
      

참고) 리눅스 쉘 스크립트 if문과 비슷함

 

 

728x90