다음 두 SQL ㉮, ㉯의 결과 행 수를 순서대로 나타낸 것은?[지점]… | [SQLD] SQL 개발자 기출유형 모의고사 3회 상세 페이지

1[SQLD] SQL 개발자 기출유형 모의고사 3회
다음 두 SQL ㉮, ㉯의 결과 행 수를 순서대로 나타낸 것은?

[지점]

지점코드지점명
B1강남
B2판교
B3수원

[직원]

직원번호지점코드
E1B1
E2B1
E3B2
E4(null)

[매출]

매출번호직원번호금액
S1E1100
S2E1200
S3E3150
S4E4300
S5E950
㉮ SELECT B.지점명, S.매출번호, S.금액
     FROM 지점 B, 직원 E, 매출 S
    WHERE E.직원번호 = S.직원번호;

㉯ SELECT B.지점명, S.매출번호, S.금액
     FROM 지점 B, 직원 E, 매출 S
    WHERE E.직원번호 = S.직원번호
      AND B.지점코드 = E.지점코드;
1
12, 3
2
12, 4
3
4, 3
4
15, 3
해설

㉮는 직원·매출만 연결하고 지점과의 조건이 없어, 직원번호가 맞는 매출 4건(S1·S2·S3·S4)에 지점 3행이 카티션 곱으로 붙어 12행이다.

㉯처럼 테이블 3개에는 N-1=2개 조인 조건이 필요하며, 지점코드가 NULL 인 E4 의 S4 는 조인에서 빠져 3행이 된다.

  • 12와 4 는 지점코드 NULL 인 직원도 조인된다고 본 결과다.
  • 15 는 직원이 없는 S5 까지 곱한 수로, 직원과의 조건에서 이미 빠진다.
  • 4 는 빠진 조인 조건이 행을 늘리지 않는다고 본 결과다.

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

이어서 풀어보기

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