SQL

SQL 함수(CASE 문)

yellowtrust 2023. 4. 13. 19:32

◆ CASE 표현은 IF-THEN-ELSE 논리와 유사한 방식으로 표현하여 비교 연산 기능 보완

SELECT LOC
	, CASE WHEN LOC = 'NEWYORK' THEN 'EAST'
    	   WHEN LOC = 'BOSTON' THEN 'EAST'
           ELSE 'ETC' END AREA
   FROM DEPT;
   
   
부서번호가 30인 대상 중 커미션(COMM)이 NULL 또는 0인 대상은 급여의 10% 지급하는 결과 출력
SELECT ENAME, JOB, SAL, COMM
	, CASE WHEN COMM IS NULL OR COMM = 0 THEN SAL*0.1
    
    
    
직무가 MANAGER이면 부서를 '직책자'로 아니면 부서번호를 출력하는 SQL 작성
SELECT EMPNO, ENAME, JOB
	, CASE WHEN JOB = 'MANAGER' THEN '직책자'
    	ELSE DEPTNO::VARCHAR END DEPT    #인자의 형태가 같아야 하므로 부서번호를 문자로 바꿔줌
   FROM EMP