안녕하세요.
2022 정보처리산업기사 실기 책에
417페이지의 5번 문제에 질문이 있어 글을 남겨봅니다.
제가 적은 답은
SELECT SUM(psale) FROM Sale
WHERE pid IN (SELECT id FROM Product WHERE name LIKE 'USB%')
GROUP BY psale;
입니다.
그룹함수인 SUM을 사용했다고 생각이 들어 아래 GROUP BY psale 을 작성했는데
그룹함수가 있더라도 GROUP BY 을 사용안해도 되는 건가요?
그렇다면 어떻게 구분해야하는지 궁금합니다.
안녕하세요 길벗수험서 운영팀입니다.
group by를 사용하지 않으면 조회하는 튜플 전체의 합계(sum)를 구하게 됩니다.
(where 조건이 없다면 테이블 전체에 대한 합계가 구해짐)
해당 문제에서는 하위 질의를 통해 합계를 구할 튜플들을 모두 추출한 상태이기 때문에 group by를 사용할 이유가 없습니다.
group by를 사용한다면 pid에 대해 사용해야지, psale에 대해 사용해버리면 가격 별로 그룹이 지정되어버려 제대로 합계가 구해지지 않습니다.
행복한 하루되세요 :)
-
관리자2022-07-04 09:12:08
안녕하세요 길벗수험서 운영팀입니다.
group by를 사용하지 않으면 조회하는 튜플 전체의 합계(sum)를 구하게 됩니다.
(where 조건이 없다면 테이블 전체에 대한 합계가 구해짐)
해당 문제에서는 하위 질의를 통해 합계를 구할 튜플들을 모두 추출한 상태이기 때문에 group by를 사용할 이유가 없습니다.
group by를 사용한다면 pid에 대해 사용해야지, psale에 대해 사용해버리면 가격 별로 그룹이 지정되어버려 제대로 합계가 구해지지 않습니다.
행복한 하루되세요 :)