[SQLD 퀴즈] NVL함수

다음 중 각 SQL 실행 결과를 가장 올바르게 설명한 것을 2개 고르시오.


 

① SELECT COL1, COL2 FROM TAB1 WHERE 1 = 2 ;

    → 실행 시 에러가 발생한다.

 

② SELECT NVL(COL1,'X') FROM TAB1 WHERE 1 = 2 ;

    → 실행 결과로 'X'를 반환한다.

 

③ SELECT NVL(MIN(COL1), 'X') FROM TAB1 WHERE 1 = 2;

    → 실행 결과로 'X'를 반환한다.

 

④ SELECT COL1, COL2 FROM TAB1 WHERE 1 = 2 ;

    → 실행 결과가 없다.(공집합)

 

[출처] http://www.dbguide.net/da.db?cmd=snb9_4_view&boardUid=152010&boardConfigUid=81

 

 

 

 

 

 

 

* 정답 및 해설 *

 

정답 : ③ , ④



조건절에 해당하는 결과집합이 없다고 에러가 발생하지는 않는다.

 

그리고 공집합에 NVL 함수를 사용한다고 값을 얻을 수 있는 것은 아니다.

 

[출처] http://www.dbguide.net/da.db?cmd=snb9_4_view&boardUid=152097&boardConfigUid=81

 

 

 

Q. 3번은 왜 되는거지??

 

MIN이 그룹합수여서 결과값이 NULL로 나옴!!!