문제
테이블 데이터가 각각 10개 있을 때 수행 결과는?
SQLSELECT COUNT(*) FROM TAB1, TAB2;
① 10 ② 20 ③ 100 ④ 오류가 발생한다.
정답
3번
해설
정답: 3. 조인 조건 없이 두 테이블을 FROM 절에 나열하면 Cartesian Product가 발생하여 10 × 10 = 100건이 된다.
오답 풀이
- 1번: 한 테이블의 행 수만 계산한 오류이다.
- 2번: 두 테이블 행 수를 단순히 더한 오류이다.
- 3번: 조인 조건이 없으므로 모든 조합의 수 100이 맞다.
- 4번: 문법적으로 오류가 발생하지 않는다.
보충 개념 Cartesian Product는 두 테이블의 모든 행 조합을 생성한다. 실무에서는 의도하지 않은 대량 결과를 막기 위해 조인 조건을 명확히 작성해야 한다.