정답에는 max함수(SQL 집계함수)를 사용하라고 해서 where절에 max(SQL 집계함수)를 쓸 수 없다고 오류가 뜨더라고요. 그래서 "select max([출동건수]) from 구급활동"으로 잘 풀었는데
여기서 만약에 dmax(도메인 집계함수)를 사용한다면 도메인 집계함수와 SQL 집계함수가 서로 다른 취급을 받기 때문에 "In (select 출동건수 from 구급활동 where 출동건수>=DMax("출동건수","구급활동"))" where절에 dmax를 쓸 수 있더라고요. 실제로도 실행시켜보면 정답과 똑같이 나옵니다.
흔히 집계함수로 오류가 뜨는 건 SQL집계함수 한에 해당된다는 걸로이해하면 될까요?
안녕하세요.
예, 맞게 이해하였습니다.
처리 지점의 차이를 정리하면 다음과 같습니다.
구분 SQL 집계 함수 (MAX) 도메인 집계 함수 (DMax)
처리 방식 쿼리 결과 집합에 종속적 외부 테이블에 독립적
WHERE절 사용불가능 (서브쿼리 필수) 가능 (상수 취급)
문제 조건 확인 "SQL 집계 함수 사용" 시 서브쿼리 작성 "도메인 함수 사용" 시 단독 작성
즐거운 하루 되세요.
-
관리자2026-05-04 15:25:41
안녕하세요.
예, 맞게 이해하였습니다.
처리 지점의 차이를 정리하면 다음과 같습니다.
구분 SQL 집계 함수 (MAX) 도메인 집계 함수 (DMax)
처리 방식 쿼리 결과 집합에 종속적 외부 테이블에 독립적
WHERE절 사용불가능 (서브쿼리 필수) 가능 (상수 취급)
문제 조건 확인 "SQL 집계 함수 사용" 시 서브쿼리 작성 "도메인 함수 사용" 시 단독 작성
즐거운 하루 되세요.