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이고 연결 조건도 같습니다.
- 부서 ↔ 사원 :
부서코드 - 사원 ↔ 구매 :
사번
그래서 실행 결과는 동일하게 나올 수 있습니다.
즉, 구매수량 조건, 기획부 제외, 총구매금액 합계, 구매자 오름차순 정렬은 모두 맞고, 차이는 조인 구조뿐입니다.
쉽게 말하면,
같은 세 테이블을 같은 조건으로 연결했지만
어느 두 테이블을 먼저 묶었는지가 다르다
는 뜻입니다.
따라서 실제 쿼리 논리는 맞고, 자동 채점 프로그램이 조인 순서까지 정답 SQL과 비교해서 오답으로 표시한 경우로 보시면 됩니다.
다만, 실제 시험에서는 맞게 채점될 것입니다.
즐거운 하루 되세요.
-
관리자2026-08-24 10:34:23
안녕하세요.
쿼리 내용이 틀린 게 아니라, 세 테이블을 묶은 조인 순서가 정답과 다릅니다.
질문하신 쿼리는 대략
부서 → 사원 → 구매순서로 조인되어 있고,
정답은
사원 → 구매 그 결과를 부서와 연결하는 형태입니다.
하지만 세 테이블이 모두 INNER JOIN이고 연결 조건도 같습니다.
- 부서 ↔ 사원 :
부서코드 - 사원 ↔ 구매 :
사번
그래서 실행 결과는 동일하게 나올 수 있습니다.
즉, 구매수량 조건, 기획부 제외, 총구매금액 합계, 구매자 오름차순 정렬은 모두 맞고, 차이는 조인 구조뿐입니다.
쉽게 말하면,
같은 세 테이블을 같은 조건으로 연결했지만
어느 두 테이블을 먼저 묶었는지가 다르다는 뜻입니다.
따라서 실제 쿼리 논리는 맞고, 자동 채점 프로그램이 조인 순서까지 정답 SQL과 비교해서 오답으로 표시한 경우로 보시면 됩니다.
다만, 실제 시험에서는 맞게 채점될 것입니다.
즐거운 하루 되세요.
- 부서 ↔ 사원 :