문제
NATURAL JOIN에 대한 설명으로 가장 적절한 것은?
① 동일 이름 컬럼이 여러 개 존재하여 의도하지 않은 조인 조건이 만들어지면 예상과 다른 결과가 발생할 수 있다. ② NATURAL JOIN은 데이터와 무관하게 항상 일정한 행 수를 반환한다. ③ 공통 컬럼이 없어도 두 테이블의 모든 행을 조인한다. ④ NATURAL JOIN은 항상 두 테이블 행 수의 곱(데카르트 곱)을 반환한다.
정답
1번
해설
NATURAL JOIN은 두 테이블에서 이름이 같은 모든 컬럼을 자동으로 등가 조인 조건으로 사용한다. 의미가 다른데 이름만 같은 컬럼이 섞이면 의도치 않은 조건이 걸려 결과가 달라질 수 있으므로 ①이 정답이다. ② 반환 행 수는 공통 컬럼의 매칭 데이터에 따라 달라지므로 고정값이 아니다. ③ 공통 컬럼이 없을 때 모든 행을 조합하는 것은 CROSS JOIN이며, NATURAL JOIN의 동작이 아니다. ④ 행 수의 곱(데카르트 곱)을 만드는 것은 CROSS JOIN이다.