계약 테이블은 6행(상태 '유지' 4행, '해지' 2행), 특약 테이블… | [SQLD] SQL 개발자 기출유형 모의고사 10회 상세 페이지

1[SQLD] SQL 개발자 기출유형 모의고사 10회
계약 테이블은 6행(상태 '유지' 4행, '해지' 2행), 특약 테이블은 3행(그중 1행은 특약명이 NULL)이다. 다음 SQL 의 결과 행 수는?
SELECT K.계약번호, T.특약명
  FROM 계약 K CROSS JOIN 특약 T
 WHERE K.상태 = '유지';
1
12
2
8
3
18
4
6
해설

CROSS JOIN 은 조인 조건 없이 모든 행을 짝짓는 카티션 곱이고, WHERE 가 계약 쪽만 '유지' 4행으로 거르므로 4 × 3 = 12행이다.

특약명이 NULL 인 행도 곱하기에서 빠지지 않으며, 조건이 없는 한 NULL 여부는 행 수에 영향을 주지 않는다.

  • 8행은 특약명이 NULL 인 행을 곱하기에서 뺀 결과다.
  • 18행은 WHERE 필터 전 6 × 3 전체 곱이다.
  • 6행은 계약 쪽 행 수만 남는다고 본 결과다.

오류나 개정된 내용이 보이면 알려주세요

이어서 풀어보기

[SQLD] SQL 개발자 기출유형 모의고사 10회 50문항 이어서 보기문제·정답·해설을 한 페이지에서 이어서 볼 수 있어요SQLD SQL 개발자 실전 모의고사 암기장 전체 보기