과목 II SQL 기본 및 활용

제1장 SQL 기본

제6절 함수 (FUNCTION)

7. NULL 관련 함수

가. NVL/ISNULL 함수

 

 

[준비]

 UPDATE PLAYER
 SET POSITION = NULL
 WHERE POSITION = '';

[제5절 WHERE 절]의 [4. SQL 연산자] 부분의 예제를 풀면서 POSITION 칼럼의 공백 값들을 NULL 값으로 수정하신 분들은 안하셔도 됩니다.

 

 

[예제] 선수 테이블에서 성남 일화천마(K08) 소속 선수의 이름과 포지션을 출력하는데, 포지션이 없는 경우는 '없음'으로 표시한다.

 SELECT PLAYER_NAME 선수명, POSITION, ISNULL(POSITION,'없음') 포지션
 FROM PLAYER
 WHERE TEAM_ID = 'K08'

 

 

[실행결과]

(45개 행이 영향을 받음)

 

 


 

 

[예제] ISNULL 함수를 사용한 SQL 문장은 벤더 공통적으로 CASE 문장으로 표현할 수 있다.

 SELECT PLAYER_NAME 선수명, POSITION,
 CASE WHEN POSITION IS NULL THEN '없음'
          ELSE POSITION
 END AS 포지션
 FROM PLAYER
 WHERE TEAM_ID = 'K08'

 

 

[실행결과]

(45개 행이 영향을 받음)

 

 


 

 

[예제] 급여와 커미션을 포함한 연봉을 계산하면서 ISNULL 함수의 필요성을 알아본다.

 SELECT ENAME 사원명, SAL 월급, COMM 커미션,
              (SAL * 12) + COMM 연봉A, (SAL * 12) + ISNULL(COMM,0) 연봉B
 FROM EMP;

 

 

[실행결과]

(14개 행이 영향을 받음)

 

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

NULLIF  (0) 2013.09.30
NULL과 공집합  (0) 2013.09.30
CASE 표현  (0) 2013.09.27
변환형 함수  (0) 2013.09.27
날짜형 함수  (0) 2013.09.27
Posted by G4.
,