2026_최신기출유형_02회
-5. 추가모집처리 쿼리 0/7
-쿼리 비교 X [추가모집처리] 쿼리 (UPDATE 반정보 SET 반정보.비고 = "추가모집대상" WHERE (((반정보.반번호) Not In (select [반번호] from [원아] group by [반번호] having count([원아번호])>=5))); )이 정답(UPDATE 반정보 SET 반정보.비고 = "추가모집대상" WHERE (((반정보.반번호) Not In (select 반번호 from 원아 group by 반번호 having count(반번호) >= 5))); )과 다릅니다.

문제 답이 Not In (select [반번호] from [원아] group by [반번호] having count([반번호])>=5)로 나와있는데 원아번호를 입력해야 인원수를 셀 수 있는 것으로 이해해, 왜 인원수에 반번호를 카운트하는지 여쭤보고 싶습니다.
안녕하세요.
having 은 그룹에 대한 조건입니다.
그룹이 '반번호'를 기준으로 지정되었으므로 조건도 '반번호'를 기준으로 지정한 것입니다.
다만 두 테이블에 관계가 설정된 상태이므로 그룹 지정한 후 추출된 레코드의 개수는 '반번호'든 '원아번호'든 동일합니다.
그러므로 결과는 맞지만, 가능하면 문제의 조건에 맞게 지정할 것을 권해드립니다.
즐거운 하루 되세요.
-
관리자2026-02-05 11:26:30
안녕하세요.
having 은 그룹에 대한 조건입니다.
그룹이 '반번호'를 기준으로 지정되었으므로 조건도 '반번호'를 기준으로 지정한 것입니다.
다만 두 테이블에 관계가 설정된 상태이므로 그룹 지정한 후 추출된 레코드의 개수는 '반번호'든 '원아번호'든 동일합니다.
그러므로 결과는 맞지만, 가능하면 문제의 조건에 맞게 지정할 것을 권해드립니다.
즐거운 하루 되세요.