문제
LEFT OUTER JOIN 결과로 SMITH 행의 오른쪽 테이블 컬럼이 NULL로 출력되었다. 이에 대한 설명으로 가장 적절한 것은?
① SMITH 행은 왼쪽 테이블에는 존재하지만 오른쪽 테이블에는 조인 조건을 만족하는 행이 없다. ② SMITH 행은 오른쪽 테이블에만 존재한다. ③ LEFT OUTER JOIN에서는 매칭되지 않은 왼쪽 행이 모두 제거된다. ④ NULL이 출력되면 SQL 문법 오류이다.
정답
1번
해설
정답: 1. LEFT OUTER JOIN은 왼쪽 테이블의 행을 보존하며, 오른쪽에 매칭 행이 없으면 오른쪽 컬럼을 NULL로 채운다.
오답 풀이
- 1번: LEFT OUTER JOIN의 미매칭 행 처리 방식이다.
- 2번: 오른쪽 테이블에만 존재하는 행은 LEFT OUTER JOIN에서 기본적으로 보존되지 않는다.
- 3번: LEFT OUTER JOIN은 왼쪽 행을 제거하지 않고 보존한다.
- 4번: NULL 출력은 정상적인 외부 조인 결과이다.
보충 개념 LEFT OUTER JOIN은 왼쪽 테이블 기준으로 모든 행을 반환한다. 매칭되는 오른쪽 행이 없으면 오른쪽 컬럼 값은 NULL이 된다.