모두CBT

다음 중 주어진 [Customer] 테이블을 참조하여 아래의 SQL문을… | [컴퓨터활용능력 1급 필기] 16년 1회차 기출문제 상세 페이지

1[컴퓨터활용능력 1급 필기] 16년 1회차
다음 중 주어진 [Customer] 테이블을 참조하여 아래의 SQL문을 실행한 결과로 옳은 것은?
SELECT Count(*)
FROM (SELECT Distinct City From Customer);
CityAgeHobby
부산30축구
서울26영화감상
부산45낚시
서울25야구
대전21축구
서울19음악감상
광주19여행
서울38야구
인천53배구
1
3
2
5
3
7
4
9
해설

Customer 테이블에는 모두 9개의 레코드가 있고 City 값은 부산, 서울, 부산, 서울, 대전, 서울, 광주, 서울, 인천이다.

괄호 안의 SELECT Distinct City From Customer가 먼저 실행되어 중복을 제거한 도시 목록을 만든다. 서울이 네 번, 부산이 두 번 나오지만 각각 하나로 합쳐지므로 결과는 부산·서울·대전·광주·인천의 5개 행이 된다.

바깥쪽의 SELECT Count(*)는 이 하위 쿼리가 돌려준 결과의 행 개수를 세는 것이므로 최종 결과는 5다. 만약 Distinct가 없었다면 레코드 수 그대로 9가 나온다.

내용에 오류가 있거나 최신 법령·기준과 다른 부분이 보이면 알려주세요. 확인 후 반영하겠습니다.