학습용 기출·복원자료 분류 확인SQLD · 2023년 49회 SQL 기본 및 활용 · 27번
사원이 없는 부서도 사원 수 0으로 표시하며 EMP를 왼쪽, DEPT를 오른쪽에 둔 조인은?
DBMS: Oracle
SELECT D.DEPTNO, COUNT(E.EMPNO)
FROM EMP E (조인종류) DEPT D ON E.DEPTNO=D.DEPTNO
GROUP BY D.DEPTNO;
1
INNER JOIN
오답 이유사원이 없는 부서는 조인 조건에 맞는 EMP 행이 없어 결과에서 사라진다. 따라서 1번 보기 ‘INNER JOIN’의 적용 여부를 문제 조건과 대조해야 한다.
2
RIGHT OUTER JOIN
정답 근거보존해야 하는 테이블은 DEPT이며 FROM 절에서 오른쪽에 있다. RIGHT OUTER JOIN은 오른쪽 부서 행을 모두 남기고 매칭되는 사원이 없으면 EMP 열을 NULL로 채운다. 따라서 2번 보기 ‘RIGHT OUTER JOIN’의 적용 여부를 문제 조건과 대조해야 한다.
3
LEFT OUTER JOIN
오답 이유왼쪽 EMP를 보존하므로 사원이 전혀 없는 오른쪽 DEPT 행을 유지하지 못한다. 따라서 3번 보기 ‘LEFT OUTER JOIN’의 적용 여부를 문제 조건과 대조해야 한다.
4
CROSS JOIN
오답 이유모든 사원과 모든 부서 조합을 만들어 실제 소속 관계와 무관한 행이 생긴다. 따라서 4번 보기 ‘CROSS JOIN’의 적용 여부를 문제 조건과 대조해야 한다.
ANSWER & EXPLANATION
정답 2번
핵심 판단은 2번 ‘RIGHT OUTER JOIN’입니다. 보존해야 하는 테이블은 DEPT이며 FROM 절에서 오른쪽에 있다. RIGHT OUTER JOIN은 오른쪽 부서 행을 모두 남기고 매칭되는 사원이 없으면 EMP 열을 NULL로 채운다.