2024_최신기출문제_2023년상시02
-5. 수강료납부일생성 쿼리 0/5
-쿼리 비교 X [수강료납부일생성] 쿼리 (SELECT 회원.회원이름, DateAdd("m",1,[수강신청일]) AS 수강료납부일, 강좌.수강료 INTO 조회강좌납부일현황 FROM 강좌 INNER JOIN (회원 INNER JOIN 수강 ON 회원.회원번호 = 수강.회원번호) ON 강좌.강좌코드 = 수강.강좌코드 WHERE (((강좌.강좌이름) Like "*" & [강좌이름을 입력하세요] & "*")) ORDER BY DateAdd("m",1,[수강신청일]); )이 정답(SELECT 회원.회원이름, DateAdd("m",1,[수강신청일]) AS 수강료납부일, 강좌.수강료 INTO 조회강좌납부일현황 FROM 회원 INNER JOIN (강좌 INNER JOIN 수강 ON 강좌.강좌코드 = 수강.강좌코드) ON 회원.회원번호 = 수강.회원번호 WHERE (((강좌.강좌이름)=[강좌이름을 입력하세요])) ORDER BY DateAdd("m",1,[수강신청일]); )과 다릅니다.
왜 틀렸는지 잘 모르겠어서 문의 드려요
안녕하세요.
틀린 채점된 원인은 조인 순서가 아니라 조건식입니다.
작성하신 조건은
Like "*" & [강좌이름을 입력하세요] & "*"이고, 정답은
=[강좌이름을 입력하세요]입니다.
두 조건은 의미가 다릅니다.
=[강좌이름을 입력하세요]
→ 사용자가 입력한 강좌이름과 정확히 일치하는 강좌만 조회Like "*" & [강좌이름을 입력하세요] & "*"
→ 입력한 문자열이 포함되어 있기만 하면 조회
예를 들어 사용자가 엑셀이라고 입력했을 때,
정답 조건:
엑셀 → 조회
고급엑셀 → 조회 안 됨
작성 조건:
엑셀 → 조회
고급엑셀 → 조회
엑셀기초 → 조회처럼 결과가 달라질 수 있습니다.
따라서 문제에서 단순히 **“강좌이름을 입력받아 조회”**하도록 했고, Like, * 등을 사용하라는 지시가 없다면 정답처럼
[강좌이름을 입력하세요]또는 SQL에서는
WHERE 강좌.강좌이름=[강좌이름을 입력하세요]로 설정하는 것이 맞습니다.
한편 다음 두 부분의 조인 순서도 SQL 문자열은 다릅니다.
작성:
FROM 강좌 INNER JOIN
(회원 INNER JOIN 수강 ...)정답:
FROM 회원 INNER JOIN
(강좌 INNER JOIN 수강 ...)하지만 모두 INNER JOIN이고 연결 조건도 동일하므로 일반적으로 조회 결과 자체는 같을 수 있습니다. 자동 채점에서는 SQL 구조 차이까지 비교할 수 있지만, 이번 문제에서 기능적으로 분명하게 잘못된 부분은 Like "*...*"를 사용한 조건식입니다.
즉, 이 문제는 부분 일치가 아니라 정확히 일치하도록 조건을 수정하시면 됩니다.
즐거운 하루 되세요.
-
관리자2026-08-31 09:42:59
안녕하세요.
틀린 채점된 원인은 조인 순서가 아니라 조건식입니다.
작성하신 조건은
Like "*" & [강좌이름을 입력하세요] & "*"이고, 정답은
=[강좌이름을 입력하세요]입니다.
두 조건은 의미가 다릅니다.
=[강좌이름을 입력하세요]
→ 사용자가 입력한 강좌이름과 정확히 일치하는 강좌만 조회Like "*" & [강좌이름을 입력하세요] & "*"
→ 입력한 문자열이 포함되어 있기만 하면 조회
예를 들어 사용자가
엑셀이라고 입력했을 때,정답 조건: 엑셀 → 조회 고급엑셀 → 조회 안 됨 작성 조건: 엑셀 → 조회 고급엑셀 → 조회 엑셀기초 → 조회처럼 결과가 달라질 수 있습니다.
따라서 문제에서 단순히 **“강좌이름을 입력받아 조회”**하도록 했고,
Like,*등을 사용하라는 지시가 없다면 정답처럼[강좌이름을 입력하세요]또는 SQL에서는
WHERE 강좌.강좌이름=[강좌이름을 입력하세요]로 설정하는 것이 맞습니다.
한편 다음 두 부분의 조인 순서도 SQL 문자열은 다릅니다.
작성:
FROM 강좌 INNER JOIN (회원 INNER JOIN 수강 ...)정답:
FROM 회원 INNER JOIN (강좌 INNER JOIN 수강 ...)하지만 모두
INNER JOIN이고 연결 조건도 동일하므로 일반적으로 조회 결과 자체는 같을 수 있습니다. 자동 채점에서는 SQL 구조 차이까지 비교할 수 있지만, 이번 문제에서 기능적으로 분명하게 잘못된 부분은Like "*...*"를 사용한 조건식입니다.즉, 이 문제는 부분 일치가 아니라 정확히 일치하도록 조건을 수정하시면 됩니다.
즐거운 하루 되세요.