Oracle 에서 다음 SQL 을 실행한 결과로 옳은 것은?[도서]도서… | [SQLD] SQL 개발자 기출유형 모의고사 2회 상세 페이지
1[SQLD] SQL 개발자 기출유형 모의고사 2회
Oracle 에서 다음 SQL 을 실행한 결과로 옳은 것은?[도서]
| 도서번호 | 제목 |
|---|---|
| B1 | 데이터베이스 입문 |
| B2 | SQL 활용 |
| B3 | 모델링 기초 |
| B4 | 통계 개론 |
[대출]
| 대출번호 | 도서번호 | 대출일 |
|---|---|---|
| 1 | B1 | 2026-02-20 |
| 2 | B1 | 2026-03-05 |
| 3 | B2 | 2026-02-10 |
| 4 | B3 | 2026-03-02 |
| 5 | B3 | 2026-03-15 |
| 6 | B3 | 2026-03-20 |
SELECT B.도서번호, COUNT(L.대출번호) AS 대출건수 FROM 도서 B, 대출 L WHERE B.도서번호 = L.도서번호(+) AND L.대출일(+) >= DATE '2026-03-01' GROUP BY B.도서번호 ORDER BY B.도서번호;
1
| 도서번호 | 대출건수 |
|---|---|
| B1 | 1 |
| B2 | 1 |
| B3 | 3 |
| B4 | 1 |
2
| 도서번호 | 대출건수 |
|---|---|
| B1 | 1 |
| B2 | 0 |
| B3 | 3 |
| B4 | 0 |
3
| 도서번호 | 대출건수 |
|---|---|
| B1 | 1 |
| B3 | 3 |
4
| 도서번호 | 대출건수 |
|---|---|
| B1 | 2 |
| B2 | 1 |
| B3 | 3 |
| B4 | 0 |
해설
대출일 조건에도 (+)가 붙어 있어 이 조건은 ANSI 의
LEFT OUTER JOIN … ON안 조건과 같고, 도서 4권이 모두 남는다.3월 이후 대출만 짝지어져 B1은 1건, B3은 3건이고 B2·B4는 NULL 확장 행이라 COUNT(열)이 0을 센다.
- B1·B3 두 행만 있는 표는 대출일 조건의 (+)를 빼 WHERE 필터가 된 경우다.
- B2·B4가 1인 표는 NULL 확장 행까지 세는 COUNT(*)의 결과다.
- B1이 2인 표는 날짜 조건을 무시하고 모든 대출을 센 경우다.
오류나 개정된 내용이 보이면 알려주세요