2026_기본모의고사_04회
-3. 특정월가입자조회 쿼리 0/7
-쿼리 비교 X [특정월가입자조회] 쿼리 (SELECT 고객.이름, 고객.전화번호, 고객.주소, DateDiff("yyyy",[가입일자],Date()) & "년" AS [가입된 기간] FROM 고객 WHERE (((Month([가입일자]))=[월을 입력하세요])) ORDER BY DateDiff("yyyy",[가입일자],Date()) & "년" DESC; )이 정답(SELECT 고객.이름, 고객.전화번호, 고객.주소, DateDiff("yyyy",[가입일자],Date()) & "년" AS [가입된 기간] FROM 고객 WHERE (((Month([가입일자]))=[월을 입력하세요])); )과 다릅니다.
ORDER BY DateDiff("yyyy",[가입일자],Date()) & "년" DESC; )
이건 뭘까요?
안녕하세요.
ORDER BY ... DESC는 쿼리 결과를 정렬하라는 SQL 구문입니다.
질문자 쿼리에 추가된
ORDER BY DateDiff("yyyy",[가입일자],Date()) & "년" DESC;는 쉽게 말하면
[가입된 기간]을 내림차순으로 정렬하라
는 뜻입니다.
DESC는 Descending, 즉 내림차순입니다. 반대로 ASC는 오름차순입니다.
그런데 정답에는 ORDER BY가 전혀 없습니다.
SELECT 고객.이름, 고객.전화번호, 고객.주소,
DateDiff("yyyy",[가입일자],Date()) & "년" AS [가입된 기간]
FROM 고객
WHERE Month([가입일자])=[월을 입력하세요];즉 문제에서는 정렬하라는 지시가 없는데, 질문자 파일에는 [가입된 기간]에 대해 내림차순 정렬이 설정된 것입니다.
Access 쿼리 디자인 보기에서는 아마 [가입된 기간] 필드의 **[정렬] 행에 내림차순**이 선택되어 있을 것입니다. 이것을 (정렬 안 함)으로 변경하면 ORDER BY 구문이 없어집니다.
따라서 이번 오답 원인은 함수나 조건식이 아니라 불필요한 정렬을 추가한 것입니다.
특히 결과 그림이 우연히 큰 값부터 작은 값 순서로 보이더라도, 문제에서 정렬을 지시하지 않았다면 임의로 정렬을 설정하지 않는 것이 안전합니다. 컴활 쿼리 문제에서는 지시된 정렬만 설정하시면 됩니다.
즐거운 하루 되세요.
-
관리자2026-09-02 19:11:41
안녕하세요.
ORDER BY ... DESC는 쿼리 결과를 정렬하라는 SQL 구문입니다.질문자 쿼리에 추가된
ORDER BY DateDiff("yyyy",[가입일자],Date()) & "년" DESC;는 쉽게 말하면
[가입된 기간]을 내림차순으로 정렬하라
는 뜻입니다.
DESC는 Descending, 즉 내림차순입니다. 반대로ASC는 오름차순입니다.그런데 정답에는
ORDER BY가 전혀 없습니다.SELECT 고객.이름, 고객.전화번호, 고객.주소, DateDiff("yyyy",[가입일자],Date()) & "년" AS [가입된 기간] FROM 고객 WHERE Month([가입일자])=[월을 입력하세요];즉 문제에서는 정렬하라는 지시가 없는데, 질문자 파일에는 [가입된 기간]에 대해 내림차순 정렬이 설정된 것입니다.
Access 쿼리 디자인 보기에서는 아마
[가입된 기간]필드의 **[정렬] 행에내림차순**이 선택되어 있을 것입니다. 이것을 (정렬 안 함)으로 변경하면ORDER BY구문이 없어집니다.따라서 이번 오답 원인은 함수나 조건식이 아니라 불필요한 정렬을 추가한 것입니다.
특히 결과 그림이 우연히 큰 값부터 작은 값 순서로 보이더라도, 문제에서 정렬을 지시하지 않았다면 임의로 정렬을 설정하지 않는 것이 안전합니다. 컴활 쿼리 문제에서는 지시된 정렬만 설정하시면 됩니다.
즐거운 하루 되세요.