2023 국가직9급 컴퓨터일반 17번 해설 — LEFT OUTER JOIN
정답 해설 참조출제 쟁점 LEFT OUTER JOIN발문 옳은 것 고르기
문제
그림과 같이 S 테이블과 T 테이블이 있을 때, SQL 실행 결과는? S(a,b)={(1,가),(2,나),(3,다)}, T(c,d)={(나,X),(다,Y),(라,Z)}. SELECT S.a, S.b, T.d FROM S LEFT JOIN T ON S.b = T.c
- ① a b d / 1 가 (NULL) / 2 나 X / 3 다 Y
- ② a b d / 2 나 X / 3 다 Y / 1 가 (NULL)
- ③ a b d / 1 가 (NULL) / 2 나 X / 3 다 Y / (NULL) 라 Z
- ④ a b d / 2 나 X / 3 다 Y / (NULL) 라 Z
선지별 해설
① a b d / 1 가 (NULL) / 2 나 X / 3 다 Y
이 선지 진술은 옳음(O)
S.b가 T.c와 맞는 나와 다는 각각 X, Y를 얻고, 가는 매칭이 없어 NULL이 된다. T에만 있는 라 행은 포함되지 않는다.
② a b d / 2 나 X / 3 다 Y / 1 가 (NULL)
이 선지 진술은 옳음(O)
SQL 결과의 행 순서는 ORDER BY가 없으면 보장되지 않는다. 따라서 1·2·3 순서와 2·3·1 순서 모두 같은 결과 집합으로 볼 수 있다.
③ a b d / 1 가 (NULL) / 2 나 X / 3 다 Y / (NULL) 라 Z
이 선지 진술은 틀림(X)
LEFT JOIN은 왼쪽 테이블 S의 행을 보존하고 오른쪽에만 있는 행은 버린다. 라,Z는 T에만 있으므로 결과에 나타나지 않는다.
④ a b d / 2 나 X / 3 다 Y / (NULL) 라 Z
이 선지 진술은 틀림(X)
왼쪽 외부 조인은 S의 가 행을 NULL과 함께 남긴다. 반대로 T에만 있는 라 행을 포함하는 것은 이 쿼리의 결과가 아니다.
핵심 요약 (Q&A)
- Q. 2023 국가직9급 컴퓨터일반 17번의 핵심 쟁점은 무엇인가?
- A. 2023 국가직9급 컴퓨터일반 17번은 LEFT OUTER JOIN에 관한 문항으로, "옳은 것"을 고르는 문제입니다.
- Q. 2023 국가직9급 컴퓨터일반 17번의 정답은?
- A. 정답 선지는 본문 해설을 참고하세요.