책 내용 질문하기
온라인 채점 결과 문의
도서
2026 시나공 컴퓨터활용능력 1급 실기 기출문제집
페이지
0
조회수
31
작성일
2026-09-03
작성자
이*희
첨부파일

2026_최신기출유형_08회

-4. 사원별구매현황 쿼리 0/7

-쿼리 비교 X [사원별구매현황] 쿼리 (SELECT [성명] & "(" & [부서이름] & ")" AS 구매자, Sum(구매.구매금액) AS 총구매금액 FROM (부서 INNER JOIN 사원 ON 부서.부서코드 = 사원.부서코드) INNER JOIN 구매 ON 사원.사번 = 구매.사번 WHERE (((구매.구매수량)>=[최소 수량]) AND ((구매.구매수량)<=[최대 수량]) AND ((부서.부서이름)<>"기획부")) GROUP BY [성명] & "(" & [부서이름] & ")" ORDER BY [성명] & "(" & [부서이름] & ")"; )이 정답(SELECT [성명] & "(" & [부서이름] & ")" AS 구매자, Sum(구매.구매금액) AS 총구매금액 FROM 부서 INNER JOIN (사원 INNER JOIN 구매 ON 사원.사번 = 구매.사번) ON 부서.부서코드 = 사원.부서코드 WHERE (((구매.구매수량)>=[최소 수량] And (구매.구매수량)<=[최대 수량]) AND ((부서.부서이름)<>"기획부")) GROUP BY [성명] & "(" & [부서이름] & ")" ORDER BY [성명] & "(" & [부서이름] & ")"; )과 다릅니다.


이 쿼리에서, 엑세스에서 쿼리 생성한 화면도 완전히 같게 만들었는데, inner join 부분이 일부 차이가 있습니다. 엑세스 상 쿼리 화면도 같고 결과도 완전히 동일한데, 어느 부분이 잘못되었는지, 논리적으로 문제가 없으면 결과도 같게 나오는지 확인하고자 합니다.

답변
2026-09-04 14:23:57

안녕하세요.

이 경우는 논리적으로 문제가 없는 쿼리입니다. 질문자 쿼리와 정답 쿼리는 INNER JOIN결합 순서와 괄호 구조만 다를 뿐, 조인 조건이 동일하므로 결과도 동일하게 나오는 것이 정상입니다.

질문자 쿼리의 조인 구조는

(부서 INNER JOIN 사원
 ON 부서.부서코드 = 사원.부서코드)
INNER JOIN 구매
 ON 사원.사번 = 구매.사번

이고, 정답은

부서 INNER JOIN
    (사원 INNER JOIN 구매
     ON 사원.사번 = 구매.사번)
ON 부서.부서코드 = 사원.부서코드

입니다.

즉 질문자 쿼리는

부서 ↔ 사원
그 결과 ↔ 구매

순서이고, 정답은

사원 ↔ 구매
그 결과 ↔ 부서

순서입니다.

하지만 세 테이블이 모두 INNER JOIN이고 조인 조건도

부서.부서코드 = 사원.부서코드
사원.사번 = 구매.사번

으로 동일하므로, 일반적으로 관계형 연산 결과는 같습니다.

WHERE 조건도 사실상 동일합니다.

질문자:

구매수량 >= [최소 수량]
AND 구매수량 <= [최대 수량]

정답:

구매수량 >= [최소 수량] And 구매수량 <= [최대 수량]

괄호 배치만 다를 뿐 논리는 같습니다.

따라서 현재 상황은

쿼리 디자인 화면도 동일
결과도 동일
INNER JOIN의 SQL 괄호 구조만 다름

이라면 기능상 오답이라고 보기는 어렵고, 자동채점 프로그램이 SQL 문자열 또는 조인 생성 순서를 비교해서 다른 것으로 판정한 경우로 보는 것이 맞습니다.

Access에서는 테이블을 쿼리 디자인 화면에 추가한 순서나 조인을 생성한 순서에 따라 SQL이 다르게 저장될 수 있습니다. 예를 들어 정답과 똑같이 만들고 싶다면 보통

사원 ↔ 구매
그 다음 부서 ↔ 사원

순서로 테이블을 추가하거나 조인선을 생성하면 정답과 같은 괄호 구조가 만들어질 가능성이 높습니다.

정리하면, 이 쿼리는 논리적으로 문제없고 결과도 같게 나오는 것이 정상입니다. 실제 시험에서는 지시사항과 결과가 동일하다면 이런 INNER JOIN 괄호 순서 차이만으로 틀렸다고 단정하기 어렵지만, 연습용 자동채점에서는 정답 SQL 구조와 다르면 오답 처리될 수 있으므로 가능하면 정답의 테이블 추가·조인 순서까지 맞추는 것이 안전합니다.

즐거운 하루 되세요.

  • 관리자
    2026-09-04 14:23:57

    안녕하세요.

    이 경우는 논리적으로 문제가 없는 쿼리입니다. 질문자 쿼리와 정답 쿼리는 INNER JOIN결합 순서와 괄호 구조만 다를 뿐, 조인 조건이 동일하므로 결과도 동일하게 나오는 것이 정상입니다.

    질문자 쿼리의 조인 구조는

    (부서 INNER JOIN 사원
     ON 부서.부서코드 = 사원.부서코드)
    INNER JOIN 구매
     ON 사원.사번 = 구매.사번

    이고, 정답은

    부서 INNER JOIN
        (사원 INNER JOIN 구매
         ON 사원.사번 = 구매.사번)
    ON 부서.부서코드 = 사원.부서코드

    입니다.

    즉 질문자 쿼리는

    부서 ↔ 사원
    그 결과 ↔ 구매

    순서이고, 정답은

    사원 ↔ 구매
    그 결과 ↔ 부서

    순서입니다.

    하지만 세 테이블이 모두 INNER JOIN이고 조인 조건도

    부서.부서코드 = 사원.부서코드
    사원.사번 = 구매.사번

    으로 동일하므로, 일반적으로 관계형 연산 결과는 같습니다.

    WHERE 조건도 사실상 동일합니다.

    질문자:

    구매수량 >= [최소 수량]
    AND 구매수량 <= [최대 수량]

    정답:

    구매수량 >= [최소 수량] And 구매수량 <= [최대 수량]

    괄호 배치만 다를 뿐 논리는 같습니다.

    따라서 현재 상황은

    쿼리 디자인 화면도 동일
    결과도 동일
    INNER JOIN의 SQL 괄호 구조만 다름

    이라면 기능상 오답이라고 보기는 어렵고, 자동채점 프로그램이 SQL 문자열 또는 조인 생성 순서를 비교해서 다른 것으로 판정한 경우로 보는 것이 맞습니다.

    Access에서는 테이블을 쿼리 디자인 화면에 추가한 순서나 조인을 생성한 순서에 따라 SQL이 다르게 저장될 수 있습니다. 예를 들어 정답과 똑같이 만들고 싶다면 보통

    사원 ↔ 구매
    그 다음 부서 ↔ 사원

    순서로 테이블을 추가하거나 조인선을 생성하면 정답과 같은 괄호 구조가 만들어질 가능성이 높습니다.

    정리하면, 이 쿼리는 논리적으로 문제없고 결과도 같게 나오는 것이 정상입니다. 실제 시험에서는 지시사항과 결과가 동일하다면 이런 INNER JOIN 괄호 순서 차이만으로 틀렸다고 단정하기 어렵지만, 연습용 자동채점에서는 정답 SQL 구조와 다르면 오답 처리될 수 있으므로 가능하면 정답의 테이블 추가·조인 순서까지 맞추는 것이 안전합니다.

    즐거운 하루 되세요.

· 5MB 이하의 zip, 문서, 이미지 파일만 가능합니다.
· 폭언, 욕설, 비방 등은 관리자에 의해 경고없이 삭제됩니다.