다음 SQL의 결과 행 수는?[예약]예약번호노선R1ICN-NRTR2IC… | [SQLD] SQL 개발자 기출유형 모의고사 4회 상세 페이지
1[SQLD] SQL 개발자 기출유형 모의고사 4회
다음 SQL의 결과 행 수는?[예약]
| 예약번호 | 노선 |
|---|---|
| R1 | ICN-NRT |
| R2 | ICN-NRT |
| R3 | GMP-CJU |
| R4 | (null) |
| R5 | ICN-LAX |
[운임표]
| 노선 | 등급 | 운임 |
|---|---|---|
| ICN-NRT | Y | 300 |
| ICN-NRT | C | 900 |
| GMP-CJU | Y | 80 |
| GMP-CJU | C | 150 |
| GMP-CJU | F | 300 |
| ICN-HND | Y | 280 |
SELECT R.예약번호, F.등급, F.운임
FROM 예약 R
JOIN 운임표 F
ON R.노선 = F.노선
ORDER BY R.예약번호, F.등급;1
5
2
9
3
7
4
3
해설
EQUI JOIN 은 노선 값이 같은 모든 짝을 만들므로 예약 한 건이 운임표의 같은 노선 행 수만큼 반복된다.
R1·R2 는 ICN-NRT 2행씩, R3 은 GMP-CJU 3행과 결합해 2+2+3=7행이고, 노선이 NULL 인 R4 와 운임표에 없는 R5 는 빠진다.
- 5는 예약 한 건당 한 행만 나온다고 본 값이다.
- 3은 매칭된 예약 건수만 센 값이다.
- 9는 매칭되지 않은 예약까지 한 행씩 더한 값이다.
오류나 개정된 내용이 보이면 알려주세요