문제
다음과 같은 조인 구조에서 최종 결과 건수로 가장 적절한 것은?
SQLSELECT COUNT(*) FROM T1 LEFT OUTER JOIN T2 ON (...) LEFT OUTER JOIN T3 ON (...) INNER JOIN T4 ON (...);
<조건> T1과 T2의 LEFT OUTER JOIN 결과를 기준으로 T3와 다시 LEFT OUTER JOIN한 뒤, 마지막에 T4와 INNER JOIN한 결과 매칭되는 행은 1건이다.
① 0건 ② 1건 ③ 3건 ④ 5건
정답
2번
해설
정답: 2. 마지막 INNER JOIN 조건을 만족하는 행이 1건이므로 최종 COUNT 결과는 1건이다.
오답 풀이
- 1번: INNER JOIN 매칭 행이 1건 존재하므로 0건이 아니다.
- 2번: 조건에 맞는 최종 결과이다.
- 3번: 앞선 LEFT OUTER JOIN 중간 결과와 혼동한 값이다.
- 4번: FULL OUTER JOIN 결과와 혼동한 값이다.
보충 개념 OUTER JOIN 이후 INNER JOIN이 수행되면 INNER JOIN 조건을 만족하지 못하는 행은 제거될 수 있다. 따라서 마지막 조인 방식이 최종 결과 건수에 큰 영향을 준다.