2026_기본모의고사_06회
-5. 구간별판매수 쿼리 0/7
-쿼리 비교 X [구간별판매수] 쿼리 (TRANSFORM Count(하행열차판매.판매번호) AS 판매번호의개수 SELECT 하행열차판매.구간, Count(하행열차판매.판매번호) AS 총판매수 FROM 고속열차 INNER JOIN 하행열차판매 ON 고속열차.구간 = 하행열차판매.구간 WHERE (((하행열차판매.구간) Like "[A-D]")) GROUP BY 하행열차판매.구간 PIVOT Month([출발일자]) & "월"; )이 정답(TRANSFORM Count(하행열차판매.판매번호) AS 판매번호의개수 SELECT 고속열차.구간, Count(하행열차판매.판매번호) AS 총판매수 FROM 고속열차 INNER JOIN 하행열차판매 ON 고속열차.구간 = 하행열차판매.구간 WHERE (((고속열차.구간) Like "[A-D]")) GROUP BY 고속열차.구간 PIVOT Month([출발일자]) & "월"; )과 다릅니다.
모르고 조건을 따로 만들어버렸는데 시험에서 이러면 틀릴까요?
안녕하세요.
이번 경우는 현재 데이터에서는 결과가 같게 나올 가능성이 높지만, 시험에서는 정답 구조와 다르기 때문에 감점될 가능성이 있습니다.
작성하신 쿼리는 조건을
하행열차판매.구간 Like "[A-D]"에 걸었고, 정답은
고속열차.구간 Like "[A-D]"에 걸었습니다.
두 테이블은
고속열차.구간 = 하행열차판매.구간으로 INNER JOIN되어 있으므로, 조인된 레코드에서는 두 필드의 값이 같아 결과 자체는 동일하게 나올 수 있습니다.
하지만 문제에서 기준이 되는 구간 필드를 어느 테이블에서 가져오도록 설계했는지에 따라 SQL 구조가 달라집니다. 지금처럼 조건용 필드를 따로 하나 더 만든 것도 SQL상으로는
WHERE 하행열차판매.구간 Like "[A-D]"가 생기게 되므로 정답의
WHERE 고속열차.구간 Like "[A-D]"와 다르게 저장됩니다.
즉 이번 경우는
결과는 같을 수 있음
하지만 조건을 건 필드의 소속 테이블이 다름
→ 자동채점에서는 오답 처리 가능입니다.
시험에서는 정답에 표시할 구간 필드와 같은 테이블의 구간 필드에 조건을 거는 것이 가장 안전합니다. 이 문제라면 고속열차.구간을 출력 필드로 사용하고, 그 필드의 조건 행에
Like "[A-D]"를 입력하는 방식이 좋습니다.
즐거운 하루 되세요.
-
관리자2026-10-02 09:22:08
안녕하세요.
이번 경우는 현재 데이터에서는 결과가 같게 나올 가능성이 높지만, 시험에서는 정답 구조와 다르기 때문에 감점될 가능성이 있습니다.
작성하신 쿼리는 조건을
하행열차판매.구간 Like "[A-D]"에 걸었고, 정답은
고속열차.구간 Like "[A-D]"에 걸었습니다.
두 테이블은
고속열차.구간 = 하행열차판매.구간으로 INNER JOIN되어 있으므로, 조인된 레코드에서는 두 필드의 값이 같아 결과 자체는 동일하게 나올 수 있습니다.
하지만 문제에서 기준이 되는
구간필드를 어느 테이블에서 가져오도록 설계했는지에 따라 SQL 구조가 달라집니다. 지금처럼 조건용 필드를 따로 하나 더 만든 것도 SQL상으로는WHERE 하행열차판매.구간 Like "[A-D]"가 생기게 되므로 정답의
WHERE 고속열차.구간 Like "[A-D]"와 다르게 저장됩니다.
즉 이번 경우는
결과는 같을 수 있음 하지만 조건을 건 필드의 소속 테이블이 다름 → 자동채점에서는 오답 처리 가능입니다.
시험에서는 정답에 표시할
구간필드와 같은 테이블의구간필드에 조건을 거는 것이 가장 안전합니다. 이 문제라면고속열차.구간을 출력 필드로 사용하고, 그 필드의 조건 행에Like "[A-D]"를 입력하는 방식이 좋습니다.
즐거운 하루 되세요.