728x90
반응형
- 공집합이란 NULL과는 다르게 조건에 맞는 데이터가 단한건도 없는 경우를 말한다
- 일반적으로 NULL과는 다른 데이터 값이다
공집합은 어떠한 특정 테이블에 존재하지 않는 컬럼의 데이터 값을 출력할 때 발생한다
SELECT EMPNO FROM EMP WHERE ENAME ='KIM';
위의 쿼리문으로 공집합이 발생한다면 여기서 NVL 함수를 써도 결과는 변하지 않는다.
NVL 함수는 NULL 값을 변경할수 있는 함수이며, 데이터가 없는 공집합은 대상이 되지 않는다
그래서 다른 방법을 생각해야한다
집계함수는 결과가 공집합인 경우에도 NULL을 출력할 수 있다
그러므로 먼저 집계함수를 사용하여 NULL값으로 만든 다음 NVL함수를 사용해서 원하는 형태로 출력한다
SELECT NVL(MAX(EMPNO), '1111') EMPNO FROM EMP WHERE ENAME='KIM'
출력값 : 1111
728x90
반응형
'IT_Web > Oracle' 카테고리의 다른 글
Oracle GROUP BY & HAVING 절 특징 (0) | 2020.02.26 |
---|---|
Oracle 집계함수 문법 (0) | 2020.02.26 |
Oracle 조건 & Null함수 문법 (0) | 2020.02.25 |
Oracle 숫자함수 문법 (0) | 2020.02.25 |
Oracle 문자함수 문법- SUBSTR, TO_CHAR, TO_NUMBER, TO_DATE (0) | 2020.02.25 |