2026_실전모의고사_A형
-1. 우수거래처처리 0/7
-쿼리 비교 X [우수거래처처리] 쿼리 (UPDATE 거래처 SET 거래처.등급 = "우수거래처" WHERE (((거래처.거래처코드) In (select 거래처코드 from 매출 group by 거래처코드 having sum([수량]) >= 300))); )이 정답(UPDATE 거래처 SET 거래처.등급 = "우수거래처" WHERE (((거래처.거래처코드) In (select 거래처코드 from 매출 group by 거래처코드 having sum(수량) >= 300))); )과 다릅니다.
수량에 대괄호 차이인데, 필드에 대해서는 대괄호를 쓰는 것으로 알고 있는데, 생략해도 괜찮은 걸까요?
안녕하세요.
네. 필드명에 대괄호 [ ]는 항상 필수는 아닙니다. 이번 경우처럼 필드명이 단순한 수량이라면
Sum(수량)과
Sum([수량])은 Access에서 기능적으로 동일하게 처리됩니다.
대괄호는 주로 필드명이나 테이블명에 공백이 있거나, 특수문자가 있거나, 예약어와 충돌할 가능성이 있을 때 필요합니다. 예를 들어
[판매 수량]
[Date]
[Order]같은 경우에는 대괄호를 쓰는 것이 안전합니다.
하지만 수량, 거래처코드, 등급처럼 단순한 한글 필드명은 대괄호를 생략해도 됩니다.
따라서 질문자 쿼리의
having sum([수량]) >= 300과 정답의
having sum(수량) >= 300은 논리적으로 같은 쿼리이고 결과도 동일합니다. 이번 채점 오류는 자동채점에서 SQL 문자열 표현 차이까지 비교한 경우로 보는 것이 맞습니다.
시험에서는 가능하면 정답 표현을 그대로 맞추는 것이 안전하지만, 대괄호를 썼다는 이유만으로 쿼리 자체가 틀린 것은 아닙니다.
즐거운 하루 되세요.
-
관리자2026-09-04 15:29:25
안녕하세요.
네. 필드명에 대괄호
[ ]는 항상 필수는 아닙니다. 이번 경우처럼 필드명이 단순한수량이라면Sum(수량)과
Sum([수량])은 Access에서 기능적으로 동일하게 처리됩니다.
대괄호는 주로 필드명이나 테이블명에 공백이 있거나, 특수문자가 있거나, 예약어와 충돌할 가능성이 있을 때 필요합니다. 예를 들어
[판매 수량] [Date] [Order]같은 경우에는 대괄호를 쓰는 것이 안전합니다.
하지만
수량,거래처코드,등급처럼 단순한 한글 필드명은 대괄호를 생략해도 됩니다.따라서 질문자 쿼리의
having sum([수량]) >= 300과 정답의
having sum(수량) >= 300은 논리적으로 같은 쿼리이고 결과도 동일합니다. 이번 채점 오류는 자동채점에서 SQL 문자열 표현 차이까지 비교한 경우로 보는 것이 맞습니다.
시험에서는 가능하면 정답 표현을 그대로 맞추는 것이 안전하지만, 대괄호를 썼다는 이유만으로 쿼리 자체가 틀린 것은 아닙니다.
즐거운 하루 되세요.