다음 중 각 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로 나옴!!!