모두CBT

다음 중 아래 SQL문에 대한 설명으로 옳은 것은?SELECT T1.품… | [컴퓨터활용능력 1급 필기] 18년 2회차 기출문제 상세 페이지

1[컴퓨터활용능력 1급 필기] 18년 2회차
다음 중 아래 SQL문에 대한 설명으로 옳은 것은?

SELECT T1.품번, T2.제조사
FROM T1, T2
WHERE T2.소재지 IN ('서울', '수원') AND
T1.품번 = T2.품번;

1
테이블 T2에서 소재지가 서울 또는 수원 이거나 T1과 품번이 일치하는 레코드들만 선택된다.
2
테이블 T1과 T2의 품번이 일치하면서 소재지는 서울과 수원을 제외한 레코드들만 선택된다.
3
테이블 T1의 품번 필드와 테이블 T2의 소재지 필드만 SQL 실행 결과로 표시된다.
4
테이블 T1의 품번 필드와 테이블 T2의 제조사 필드만 SQL 실행 결과로 표시된다.
해설

제시된 SQL문은 SELECT T1.품번, T2.제조사로 시작한다. SELECT 절에 나열된 필드가 곧 실행 결과로 나타나는 열이므로, 결과에는 테이블 T1의 품번 필드와 테이블 T2의 제조사 필드만 표시된다.

FROM 절에 T1과 T2를 함께 쓰고 WHERE 절에 T1.품번 = T2.품번 조건을 준 것은 두 테이블을 품번으로 연결하는 내부 조인 역할을 한다. 여기에 T2.소재지 IN ('서울', '수원') 조건이 AND로 결합되어 있으므로, 품번이 일치하면서 동시에 소재지가 서울이거나 수원인 레코드만 선택된다.

AND는 OR와 달리 두 조건을 모두 만족해야 하므로 '소재지가 서울 또는 수원이거나 품번이 일치하는' 것으로 읽으면 안 되며, IN은 목록에 포함되는 값을 찾는 연산자이므로 서울·수원을 제외한다는 뜻도 아니다. 또한 소재지 필드는 조건에만 쓰였을 뿐 SELECT 절에 없으므로 결과 화면에는 나타나지 않는다.

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