For DEVELOPER/ORACLE::DB

[ORACLE] CASE WHEN THEN ELSE 문 :: CASE문 (SQL 조건문)

오니기리석 2020. 5. 15. 03:33
728x90
반응형



CASE-WHEN-THEN-ELSE   SQL 조건문

 

JAVA나 다른 언어의 IF ELSE 조건 문처럼 SQL에서도 조건문이 가능합니다.

형식{

CASE 컬럼명 | 표현식 WHEN 조건식1 THEN 결과1
                    WHEN 조건식2 THEN 결과2
                                    .......
                    WHEN 조건식n THEN 결과n 
                    ELSE 결과
             END

};

 

SAMPLE ( 이중 CASE문 ){

CASE WHEN A = '01' THEN 'GOOD'
            WHEN A = '02' THEN  
                CASE WHEN C = '21' THEN 'GOOD-1'   -- 이중 CASE문
                     WHEN C = '22' THEN 'GOOD-2'
                    ELSE 'BAD'
                END
            WHEN A = '03' THEN 'BABY'
            WHEN A = '04' THEN 'APPLE'
        END  AS SAMPLE  -- ALIAS 는 END절 끝에 명명할수있다.

};

반응형

개인의견(주의사항){

CASE문은 해당 WHEN 절은 자바의 IF(_){

}ELSE IF(_){

}ELSE IF(_){

}ELSE {} 가 아니라

IF(_){

}IF(_){

}IF(_){

}ELSE(_){} 형식이다

이둘의 차이점은 ELSE IF문 같은 경우는 위에 IF문이 성립하면 해당 루프를 빠져나오지만

(2)반복 IF문의 경우 IF문이 성립해도 그다음 IF문을 실행한다는 차이점이 있다.

};

반응형