다음 SQL을 실행했을 때 결과 행의 수는?[수강생]학번이름S1민지S2… | [SQLD] SQL 개발자 기출유형 모의고사 7회 상세 페이지

1[SQLD] SQL 개발자 기출유형 모의고사 7회
다음 SQL을 실행했을 때 결과 행의 수는?

[수강생]

학번이름
S1민지
S2도윤
S3서연

[강좌]

강좌번호강좌명
C1영어
C2수학

[수강신청]

신청번호학번강좌번호
1S1C1
2S1C2
3S2C1
4S3C3
5(null)C2
6S2C2
SELECT S.이름, C.강좌명
  FROM 수강생 S, 수강신청 R, 강좌 C
 WHERE S.학번 = R.학번
   AND R.강좌번호 = C.강좌번호
 ORDER BY R.신청번호;
1
4
2
3
3
6
4
5
해설

세 테이블을 조인하려면 N-1=2개의 조인 조건이 필요하고, 두 조건을 모두 만족하는 신청 1·2·3·6 만 남아 4행이다.

신청 4 는 강좌 C3 이 없어서, 신청 5 는 학번이 NULL 이라서 등가 조인에서 짝을 찾지 못해 빠진다.

  • 3행은 수강생 수로 센 것인데 한 수강생의 여러 신청은 각각 행이 된다.
  • 5행은 NULL 학번 신청까지 넣은 것이며 NULL 은 어떤 값과도 같지 않다.
  • 6행은 수강신청 전체 건수로 짝 없는 신청까지 센 것이다.

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

이어서 풀어보기

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