과목 II SQL 기본 및 활용

제1장 SQL 기본

제6절 함수 (FUNCTION)

7. NULL 관련 함수

나. NULL과 공집합

 

 

* 일반적인 NVL/ISNULL 함수 사용

 

STEP1. 정상적으로 매니저 정보를 가지고 있는 SCOTT의 매니저를 출력한다.

 SELECT MGR FROM EMP WHERE ENAME='SCOTT';

 

 

STEP2. 매니저에 NULL이 들어있는 KING의 매니저를 출력한다.

 SELECT MGR FROM EMP WHERE ENAME='KING';

 

 

STEP3. 매니저가 NULL인 경우 빈칸이 아닌 9999로 출력하기 위해 NVL/ISNULL 함수를 사용한다.

 SELECT ISNULL(MGR,9999) MGR FROM EMP WHERE ENAME='KING';

 

 


 

 

 

 

* 공집합의 NVL/ISNULL 함수 사용

 

STEP1. 공집합을 발생시키기 위해 사원 테이블에 존재하지 않는 'JSC'라는 이름으로 데이터를 검색한다.

 SELECT MGR FROM EMP WHERE ENAME='JSC';

 

 

STEP2. NVL/ISNULL 함수를 이용해 공집합을 9999로 바꾸고자 시도한다.

 SELECT ISNULL(MGR, 9999) MGR FROM EMP WHERE ENAME='JSC';

 

 

STEP3. 적절한 집계 함수를 찾아서 ISNULL 함수 대신 적용한다.

 SELECT MAX(MGR) MGR FROM EMP WHERE ENAME='JSC';

 

 

STEP4. 집계 함수를 인수로 한 NVL/ISNULL 함수를 이용해서 공집합인 경우에도 빈칸이 아닌 9999로 출력하게 한다.

 SELECT ISNULL(MAX(MGR), 9999) MGR FROM EMP WHERE ENAME='JSC';

 

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

기타 NULL 관련 함수 (COALESCE)  (0) 2013.09.30
NULLIF  (0) 2013.09.30
NVL/ISNULL 함수  (2) 2013.09.30
CASE 표현  (0) 2013.09.27
변환형 함수  (0) 2013.09.27
Posted by G4.
,