학습용 기출·복원자료 분류 확인SQLD · 2025년 58회 SQL 기본 및 활용 · 25번
다음 두 테이블과 SQL을 확인할 때 반환되는 행의 수는?
Tbl_A
A
B
C
D
1
a
x
1
2
a
z
1
2
a
y
2
3
b
y
2
Tbl_B
D
E
F
x
D
5
y
E
6
z
E
9
DBMS: Oracle
SELECT COUNT(*)
FROM (
SELECT DISTINCT A, B
FROM Tbl_A
WHERE C IN (
SELECT D
FROM Tbl_B
WHERE UPPER(E) = 'E'
)
) X;
1
1
오답 이유‘1’은 계산된 정답 ‘2’과 일치하지 않는다. 서브쿼리 결과 D가 (y, z)인 데이터를 Tbl_A에서 찾으면 3건이 나오지만, DISTINCT A, B를 적용하면 (2, a)와 (3, b)로 2건만 남습니다. 따라서 1번 보기 ‘1’의 적용 여부를 문제 조건과 대조해야 한다.
2
2
정답 근거서브쿼리 결과 D가 (y, z)인 데이터를 Tbl_A에서 찾으면 3건이 나오지만, DISTINCT A, B를 적용하면 (2, a)와 (3, b)로 2건만 남습니다. 따라서 2번 보기 ‘2’의 적용 여부를 문제 조건과 대조해야 한다.
3
3
오답 이유‘3’은 계산된 정답 ‘2’과 일치하지 않는다. 서브쿼리 결과 D가 (y, z)인 데이터를 Tbl_A에서 찾으면 3건이 나오지만, DISTINCT A, B를 적용하면 (2, a)와 (3, b)로 2건만 남습니다. 따라서 3번 보기 ‘3’의 적용 여부를 문제 조건과 대조해야 한다.
4
4
오답 이유‘4’은 계산된 정답 ‘2’과 일치하지 않는다. 서브쿼리 결과 D가 (y, z)인 데이터를 Tbl_A에서 찾으면 3건이 나오지만, DISTINCT A, B를 적용하면 (2, a)와 (3, b)로 2건만 남습니다. 따라서 4번 보기 ‘4’의 적용 여부를 문제 조건과 대조해야 한다.
ANSWER & EXPLANATION
정답 2번
핵심 판단은 2번 ‘2’입니다. 서브쿼리 결과 D가 (y, z)인 데이터를 Tbl_A에서 찾으면 3건이 나오지만, DISTINCT A, B를 적용하면 (2, a)와 (3, b)로 2건만 남습니다.