2026_최신기출유형_06회
-5. 학과현황생성 쿼리 0/7
-쿼리 비교 X [학과현황생성] 쿼리 (SELECT 봉사내역.봉사날짜, 봉사기관.기관명, 봉사내역.시수, 재학생.이름, 봉사내역.봉사내용 INTO 조회학과봉사현황 FROM 재학생 INNER JOIN (봉사기관 INNER JOIN 봉사내역 ON 봉사기관.기관코드 = 봉사내역.기관코드) ON 재학생.학번 = 봉사내역.학번 WHERE (((재학생.학과) Like "*" & [조회할 학과명의 일부를 입력] & "*")); )이 정답(SELECT 봉사내역.봉사날짜, 봉사기관.기관명, 봉사내역.시수, 재학생.이름, 봉사내역.봉사내용 INTO 조회학과봉사현황 FROM 봉사기관 INNER JOIN (재학생 INNER JOIN 봉사내역 ON 재학생.학번 = 봉사내역.학번) ON 봉사기관.기관코드 = 봉사내역.기관코드 WHERE (((재학생.학과) Like "*" & [조회할 학과명의 일부를 입력] & "*")); )과 다릅니다.
어떤 부분이 오답인가요?
안녕하세요.
질문하신 두 SQL문은 실행 결과는 동일하지만, 조인의 구조(괄호 포함)가 다릅니다.
작성하신 SQL
FROM 재학생
INNER JOIN
(봉사기관
INNER JOIN 봉사내역
ON 봉사기관.기관코드 = 봉사내역.기관코드)
ON 재학생.학번 = 봉사내역.학번
정답 SQL
FROM 봉사기관
INNER JOIN
(재학생
INNER JOIN 봉사내역
ON 재학생.학번 = 봉사내역.학번)
ON 봉사기관.기관코드 = 봉사내역.기관코드
두 SQL 모두 INNER JOIN만 사용하고 있으며, 조인 조건도 동일합니다. 따라서 조회 결과는 동일하게 생성됩니다.
즉, 질문자님의 SQL이 논리적으로 틀린 것은 아닙니다.
다만 시나공 채점 프로그램은 SQL 문장의 구조까지 비교하는 경우가 있어,
먼저 어떤 테이블을 조인했는지,
괄호로 묶인 순서가 정답과 같은지
까지 확인하여 오답으로 처리한 것으로 보입니다.
실제 Access에서는 두 SQL 모두 정상적으로 실행되며 결과도 동일합니다. 따라서 이는 SQL의 논리적 오류가 아니라 채점 프로그램이 SQL의 작성 형태(조인 순서)까지 비교한 데 따른 채점 방식의 차이로 보시면 됩니다.
즐거운 하루 되세요.
-
관리자2026-07-19 14:11:51
안녕하세요.
질문하신 두 SQL문은 실행 결과는 동일하지만, 조인의 구조(괄호 포함)가 다릅니다.
작성하신 SQL
FROM 재학생 INNER JOIN (봉사기관 INNER JOIN 봉사내역 ON 봉사기관.기관코드 = 봉사내역.기관코드) ON 재학생.학번 = 봉사내역.학번정답 SQL
FROM 봉사기관 INNER JOIN (재학생 INNER JOIN 봉사내역 ON 재학생.학번 = 봉사내역.학번) ON 봉사기관.기관코드 = 봉사내역.기관코드두 SQL 모두 INNER JOIN만 사용하고 있으며, 조인 조건도 동일합니다. 따라서 조회 결과는 동일하게 생성됩니다.
즉, 질문자님의 SQL이 논리적으로 틀린 것은 아닙니다.
다만 시나공 채점 프로그램은 SQL 문장의 구조까지 비교하는 경우가 있어,
먼저 어떤 테이블을 조인했는지,
괄호로 묶인 순서가 정답과 같은지
까지 확인하여 오답으로 처리한 것으로 보입니다.
실제 Access에서는 두 SQL 모두 정상적으로 실행되며 결과도 동일합니다. 따라서 이는 SQL의 논리적 오류가 아니라 채점 프로그램이 SQL의 작성 형태(조인 순서)까지 비교한 데 따른 채점 방식의 차이로 보시면 됩니다.
즐거운 하루 되세요.