과목 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 |