문제
다음 SQL의 실행 결과로 가장 적절한 것은?
[DEPT] DEPTNO: 10, 20, 30 [EMP] DEPTNO: 10, 10, 20, NULL
SQLSELECT COUNT(*), COUNT(E.DEPTNO) FROM DEPT D RIGHT JOIN EMP E ON D.DEPTNO = E.DEPTNO;
① 3, 3 ② 4, 3 ③ 4, 4 ④ 3, 4
정답
2번
해설
RIGHT JOIN은 EMP 테이블의 모든 행(4건)을 반환합니다. COUNT()는 NULL을 포함한 전체 행수인 4를 반환하고, COUNT(E.DEPTNO)는 NULL값을 제외한 3을 반환합니다. EMP의 DEPTNO에서 NULL인 행이 1건 있으므로 COUNT(E.DEPTNO)는 3이 됩니다. ① COUNT()가 3이 될 수 없습니다. ③ COUNT(E.DEPTNO)는 NULL을 제외하므로 4가 될 수 없습니다. ④ COUNT(*)와 COUNT(E.DEPTNO)의 값이 바뀌었습니다.