과목 II SQL 기본 및 활용

제1장 SQL 기본

제6절 함수 (FUNCTION)

7. NULL 관련 함수

라. 기타 NULL 관련 함수 (COALESCE)

 

 

[준비]

 BEGIN TRAN;

 UPDATE EMP SET SAL = NULL WHERE ENAME = 'JONES';

 -- 예제 푼 후

 ROLLBACK;

만약 모든 인수가 NULL이라면 NULL을 리턴하는지 알아보기 위해 JONES 의 급여(SAL)을 NULL 값으로 바꿔줍니다.

바꾼 JONES 의 급여를 바꿔주기 위해 BEGIN TRAN 을 이용해 예제를 풀고 ROLLBACK 해줍니다.

 

 

[예제] 사원 테이블에서 커미션을 1차 선택값으로, 급여를 2차 선택값으로 선택하되 두 칼럼 모두 NULL인 경우는 NULL로 표시한다.

 SELECT ENAME, COMM, SAL, COALESCE(COMM, SAL) COAL
 FROM EMP;

 

 

[예제] COALESCE 함수는 두개의 중첩된 CASE 문장으로 표현할 수 있다.

 SELECT ENAME, COMM, SAL,
             CASE WHEN COMM IS NOT NULL
                       THEN COMM
                       ELSE (CASE WHEN SAL IS NOT NULL
                       THEN SAL
                       ELSE NULL
                       END)
             END COAL
 FROM EMP;

 

 

[실행결과]

(14개 행이 영향을 받음)

COALESCE 함수는 최초의 인수값을 반환해주고 인수가 모두 NULL 일 경우 NULL 을 리턴합니다.

[준비] 단계에서도 말했다시피 예제를 푼 후에 ROLLBACK 을 해서 JONES 의 급여를 원래대로 되돌립니다.

 

'SQL 전문가 가이드' 카테고리의 다른 글

GROUP BY 절  (0) 2013.09.30
집계 함수(Aggregate Function)  (0) 2013.09.30
NULLIF  (0) 2013.09.30
NULL과 공집합  (0) 2013.09.30
NVL/ISNULL 함수  (2) 2013.09.30
Posted by G4.
,