문제
다음 두 테이블을 조인 조건 없이 FROM 절에 함께 기술하여 조회할 때(카티션 곱), 반환되는 행의 개수는?
[테이블X] (2개 행)
| 값 |
|---|
| A |
| B |
[테이블Y] (2개 행)
| 값 |
|---|
| 1 |
| 2 |
① 2개 ② 0개 ③ 4개 ④ 6개
정답
3번
해설
조인 조건이 없는 두 테이블을 FROM 절에 나열하면 카티션 곱(교차 조인)이 되어 두 테이블의 행 수를 곱한 만큼 결과가 생성된다. 테이블X 2행 × 테이블Y 2행 = 4행. → 정답 ③ 4개. ① 2개는 한쪽 행 수만 센 경우, ② 0개는 공통 조건이 없어 결과가 없다고 오해한 경우, ④ 6개는 2+... 등 잘못 계산한 경우다. 카티션 곱은 곱(2×2=4)이며, 조인 조건을 빠뜨리면 의도치 않게 대량의 행이 만들어질 수 있으니 주의해야 한다.