책 내용 질문하기
온라인 채점 결과 문의
도서
2025 시나공 컴퓨터활용능력 1급 실기 총정리 (ver. 2021)
페이지
0
조회수
52
작성일
2026-08-18
작성자
임*경
첨부파일

2025_최신기출문제_2023년상시03

-1. 베스트셀러처리 쿼리 0/5

-쿼리 비교 X [베스트셀러처리] 쿼리 (UPDATE 저자 SET 저자.비고 = "베스트셀러" WHERE (((저자.저자코드) In (select 저자코드 from 도서 group by 저자코드 having count([저자코드])>=4))); )이 정답(UPDATE 저자 SET 저자.비고 = "베스트셀러" WHERE (((저자.저자코드) In (select 저자코드 from 도서 group by 저자코드 having count(도서코드) >=4))); )과 다릅니다.


having count(도서코드) >=4)


having 부분에 그룹에 대한 조건을 작성할 때 저자코드 필드가 아닌 도서코드 필드를 사용하는 이유가 무엇인가요?


문제에서 출판된 도서가 4개 이상인 저자의 필드 값을 업데이트한다고 제시되어 있어서 저자코드를 사용해야 한다고 생각했습니다.




답변
2026-08-18 18:28:14

안녕하세요.

이 문제에서는 ‘저자 수’가 아니라 ‘출판된 도서 수’를 세어야 하기 때문에 도서코드를 Count하는 것이 정확합니다.

GROUP BY 저자코드
HAVING Count(도서코드) >= 4

의 의미는 저자코드별로 묶은 후, 각 저자가 출판한 도서가 4개 이상인지 확인하는 것입니다.

질문하신 것처럼

Count(저자코드) >= 4

를 사용해도 도서 테이블의 저자코드에 Null이 없고 도서마다 저자코드가 들어 있다면 결과는 같을 수 있습니다. 하지만 이것은 저자코드가 입력된 레코드 수를 세는 방식입니다.

따라서 문제에서 “출판된 도서가 4개 이상”이라고 했으므로 그 개수를 직접 나타내는 도서코드를 사용하는 것이 가장 정확합니다.

핵심은 다음처럼 구분하시면 됩니다.

GROUP BY 저자코드누구별로 셀 것인가? → 저자별
Count(도서코드)무엇을 셀 것인가? → 출판된 도서 수

따라서 저자별로 묶는다고 해서 Count에도 반드시 저자코드를 사용하는 것은 아닙니다.

즐거운 하루 되세요.

  • 관리자
    2026-08-18 18:28:14

    안녕하세요.

    이 문제에서는 ‘저자 수’가 아니라 ‘출판된 도서 수’를 세어야 하기 때문에 도서코드를 Count하는 것이 정확합니다.

    GROUP BY 저자코드
    HAVING Count(도서코드) >= 4

    의 의미는 저자코드별로 묶은 후, 각 저자가 출판한 도서가 4개 이상인지 확인하는 것입니다.

    질문하신 것처럼

    Count(저자코드) >= 4

    를 사용해도 도서 테이블의 저자코드에 Null이 없고 도서마다 저자코드가 들어 있다면 결과는 같을 수 있습니다. 하지만 이것은 저자코드가 입력된 레코드 수를 세는 방식입니다.

    따라서 문제에서 “출판된 도서가 4개 이상”이라고 했으므로 그 개수를 직접 나타내는 도서코드를 사용하는 것이 가장 정확합니다.

    핵심은 다음처럼 구분하시면 됩니다.

    GROUP BY 저자코드누구별로 셀 것인가? → 저자별
    Count(도서코드)무엇을 셀 것인가? → 출판된 도서 수

    따라서 저자별로 묶는다고 해서 Count에도 반드시 저자코드를 사용하는 것은 아닙니다.

    즐거운 하루 되세요.

· 5MB 이하의 zip, 문서, 이미지 파일만 가능합니다.
· 폭언, 욕설, 비방 등은 관리자에 의해 경고없이 삭제됩니다.