학습용 기출·복원자료 분류 확인SQLD · 2025년 58회 SQL 기본 및 활용 · 15번
다음 [CUST] 테이블과 [GRADE] 테이블 데이터가 주어졌을 때, 아래 3개의 SQL 문을 실행한 결과값(반환되는 행의 수)의 총합(ㄱ+ㄴ+ㄷ)으로 가장 적절한 것은?
CUST 테이블
CUST_ID
AMOUNT
1
100
2
120
3
200
GRADE 테이블
GRADE
MIN_AMT
MAX_AMT
A
250
350
B
150
249
C
50
149
D
0
49
DBMS: Oracle
-- (ㄱ)
SELECT COUNT(*) FROM CUST CROSS JOIN GRADE;
-- (ㄴ)
SELECT COUNT(*) FROM CUST A
INNER JOIN GRADE B ON A.AMOUNT BETWEEN B.MIN_AMT AND B.MAX_AMT;
-- (ㄷ)
SELECT COUNT(*) FROM CUST A
FULL OUTER JOIN GRADE B ON A.AMOUNT BETWEEN B.MIN_AMT AND B.MAX_AMT;
1
17
오답 이유‘17’은 계산된 정답 ‘20’과 일치하지 않는다. - (ㄱ) CROSS: 3건 * 4건 = 12건 - (ㄴ) INNER: 100(C등급), 120(C등급), 200(B등급) 매칭 = 3건 - (ㄷ) FULL OUTER: INNER(3건) + 매칭 안 된 GRADE(A, D등급 2건) = 5건 - 합계: 12 + 3 + 5 = 20 따라서 1번 보기 ‘17’의 적용 여부를 문제 조건과 대조해야 한다.
2
18
오답 이유‘18’은 계산된 정답 ‘20’과 일치하지 않는다. - (ㄱ) CROSS: 3건 * 4건 = 12건 - (ㄴ) INNER: 100(C등급), 120(C등급), 200(B등급) 매칭 = 3건 - (ㄷ) FULL OUTER: INNER(3건) + 매칭 안 된 GRADE(A, D등급 2건) = 5건 - 합계: 12 + 3 + 5 = 20 따라서 2번 보기 ‘18’의 적용 여부를 문제 조건과 대조해야 한다.
3
19
오답 이유‘19’은 계산된 정답 ‘20’과 일치하지 않는다. - (ㄱ) CROSS: 3건 * 4건 = 12건 - (ㄴ) INNER: 100(C등급), 120(C등급), 200(B등급) 매칭 = 3건 - (ㄷ) FULL OUTER: INNER(3건) + 매칭 안 된 GRADE(A, D등급 2건) = 5건 - 합계: 12 + 3 + 5 = 20 따라서 3번 보기 ‘19’의 적용 여부를 문제 조건과 대조해야 한다.
4
20
정답 근거- (ㄱ) CROSS: 3건 * 4건 = 12건 - (ㄴ) INNER: 100(C등급), 120(C등급), 200(B등급) 매칭 = 3건 - (ㄷ) FULL OUTER: INNER(3건) + 매칭 안 된 GRADE(A, D등급 2건) = 5건 - 합계: 12 + 3 + 5 = 20 따라서 4번 보기 ‘20’의 적용 여부를 문제 조건과 대조해야 한다.
ANSWER & EXPLANATION
정답 4번
핵심 판단은 4번 ‘20’입니다. - (ㄱ) CROSS: 3건 * 4건 = 12건 - (ㄴ) INNER: 100(C등급), 120(C등급), 200(B등급) 매칭 = 3건 - (ㄷ) FULL OUTER: INNER(3건) + 매칭 안 된 GRADE(A, D등급 2건) = 5건 - 합계: 12 + 3 + 5 = 20