SQLDSQL 활용카테시안 곱난이도 3MCQ

SQLD 카테시안 곱 기출문제 #3834

문제

다음 보기 중 행의 수가 가장 많은 SQL은?

CODEPCOLOR
1빨강
2노랑
3파랑
4검정

CODEPSIZE
1
2
3
4특대

① SELECT CODE FROM TAB1 UNION ALL SELECT CODE FROM TAB2 ② SELECT * FROM TAB1 JOIN TAB2 ON TAB1.CODE = TAB2.CODE ③ SELECT * FROM TAB1, TAB2 WHERE TAB1.PCOLOR IN ('노랑','파랑','검정') AND TAB2.PSIZE IN ('소','중','대') ④ SELECT * FROM TAB1 FULL OUTER JOIN TAB2 ON TAB1.CODE = TAB2.CODE

정답

3

해설

정답: 3. 3번은 TAB1에서 3행, TAB2에서 3행을 선택해 조인 조건 없이 조합을 만들므로 3×3=9행이 된다.

오답 풀이

  • 1번: TAB1 4행과 TAB2 4행을 UNION ALL 하므로 8행이다.
  • 2번: CODE가 모두 1:1로 매칭되므로 INNER JOIN 결과는 4행이다.
  • 3번: 선택된 3행과 3행의 조합으로 9행이 되어 가장 많다.
  • 4번: CODE가 모두 매칭되므로 FULL OUTER JOIN 결과는 4행이다.

보충 개념 FROM 절에 여러 테이블을 나열하고 조인 조건이 없으면 카테시안 곱이 발생한다. 결과 행 수는 각 입력 행 수의 곱이다.

SQLD 시험 준비 가이드

이런 문제 20~50개를 한 번에 풀어보세요

매번 새로 추가되는 모의고사 + 오답 자동 복습 + 회차별 실력 추적. 회원가입 후 무료 이용.

[SQLD] 카테시안 곱 SQL 활용 기출 #3834 | 문어CBT