다음 두 SQL ㉮, ㉯의 결과 행 수를 순서대로 나타낸 것은?[지점]… | [SQLD] SQL 개발자 기출유형 모의고사 3회 상세 페이지
1[SQLD] SQL 개발자 기출유형 모의고사 3회
다음 두 SQL ㉮, ㉯의 결과 행 수를 순서대로 나타낸 것은?[지점]
| 지점코드 | 지점명 |
|---|---|
| B1 | 강남 |
| B2 | 판교 |
| B3 | 수원 |
[직원]
| 직원번호 | 지점코드 |
|---|---|
| E1 | B1 |
| E2 | B1 |
| E3 | B2 |
| E4 | (null) |
[매출]
| 매출번호 | 직원번호 | 금액 |
|---|---|---|
| S1 | E1 | 100 |
| S2 | E1 | 200 |
| S3 | E3 | 150 |
| S4 | E4 | 300 |
| S5 | E9 | 50 |
㉮ 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 는 빠진 조인 조건이 행을 늘리지 않는다고 본 결과다.
오류나 개정된 내용이 보이면 알려주세요