책 내용 질문하기
114페이지 9번 문제
도서
2019 시나공 정보처리기사 필기
페이지
114
조회수
549
작성일
2019-01-15
작성자
탈퇴*원
첨부파일

9번문제에서 보기 1번에 'WHERE절의 조건에 의해 해당 도시의 지점들의 매출액 평균이 1000 이하인 경우는 출력에서 제외된다'에서

매출액 평균이라는 말도 틀린 거 같아서 답이 1번인줄 알았는데, 답이 아니더라구요...ㅠㅠ

WHERE절에 의하면 매출액 평균이 1000인 경우가 아니라 매출액 1000인 지점들이 없어지는 거 아닌가요..??ㅠㅠ

밑에 해설에서도 전체 레코드 중에서 매출액이 1000이 초과하는 레코드만 추출한다고 되어있는데,,

어떤식으로 이해를 해야 1번보기가 맞는 답이 되는지 잘 모르겠습니다...ㅠㅠ

 

아니면 지점정보에 있는 매출액이 그 지점의 매출액 평균이라서 1번보기에 저렇게 써있는건가요..??

 

 

답변
2019-01-16 09:27:03

안녕하세요 길벗 수험서 운영팀입니다.

 

해당 설명은 코드가 실행된 이후의 결과에 대해 설명하고 있습니다.

 

보기의 SQL코드는 <지점정보> 테이블에서 1000을 초과하는 매출액을 가진 도시들을 추출한 뒤(where절),

추출된 데이터에서 동일한 도시가 3개 이상인 도시들을 묶어(group by, having절) 해당 도시의 이름과 매출액 평균을 출력하는 select문입니다.

 

이 것이 실행된다고 가정했을 때 매출액이 1000을 초과하는 데이터만을 갖고 도시와 평균을 출력하기 때문에, 매출액 평균(avg(매출액))은 1000이하가 나올 수 없게 됩니다.

 

예를들어, <지점정보> 테이블의 '소속도시', '매출액' 데이터가

(서울, 0),

(서울, 0), 

(서울, 0),

(서울, 1200), 

(서울, 1400), 

(서울, 1600)

 

과 같이 데이터가 들어가 있다면 결과는 (서울, 1400)이 나오게 되죠.

(1200, 1400, 1600의 평균)

 

즉, 보기 1번은 SQL문 자체가 아닌 SQL문을 실행했을 때의 결과에서 '매출액 평균'이 1000이하인 경우는 출력될 수 없다는 것을 의미합니다.

 

행복한 하루 되세요 :)

  • 관리자
    2019-01-16 09:27:03

    안녕하세요 길벗 수험서 운영팀입니다.

     

    해당 설명은 코드가 실행된 이후의 결과에 대해 설명하고 있습니다.

     

    보기의 SQL코드는 <지점정보> 테이블에서 1000을 초과하는 매출액을 가진 도시들을 추출한 뒤(where절),

    추출된 데이터에서 동일한 도시가 3개 이상인 도시들을 묶어(group by, having절) 해당 도시의 이름과 매출액 평균을 출력하는 select문입니다.

     

    이 것이 실행된다고 가정했을 때 매출액이 1000을 초과하는 데이터만을 갖고 도시와 평균을 출력하기 때문에, 매출액 평균(avg(매출액))은 1000이하가 나올 수 없게 됩니다.

     

    예를들어, <지점정보> 테이블의 '소속도시', '매출액' 데이터가

    (서울, 0),

    (서울, 0), 

    (서울, 0),

    (서울, 1200), 

    (서울, 1400), 

    (서울, 1600)

     

    과 같이 데이터가 들어가 있다면 결과는 (서울, 1400)이 나오게 되죠.

    (1200, 1400, 1600의 평균)

     

    즉, 보기 1번은 SQL문 자체가 아닌 SQL문을 실행했을 때의 결과에서 '매출액 평균'이 1000이하인 경우는 출력될 수 없다는 것을 의미합니다.

     

    행복한 하루 되세요 :)

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