문제
다음 두 SQL의 실행 결과 차이로 가장 적절한 것은?
① 두 SQL의 결과는 항상 동일하다 ② SQL A는 RIGHT JOIN이 INNER JOIN처럼 동작하고, SQL B는 RIGHT JOIN을 유지한다 ③ SQL A는 RIGHT JOIN을 유지하고, SQL B는 INNER JOIN처럼 동작한다 ④ 두 SQL 모두 문법 오류가 발생한다
정답
2번
해설
정답: ② WHERE절의 조건은 JOIN 후에 적용되므로, E.SALARY > 5000 조건으로 인해 EMPLOYEE가 NULL인 행들이 제거되어 RIGHT JOIN이 INNER JOIN처럼 동작합니다. 반면 ON절의 조건은 JOIN 수행 시 적용되므로 RIGHT JOIN의 특성이 유지되어 모든 DEPARTMENT 행이 보존됩니다.