책 내용 질문하기
2권 54p 문제6번 sql DML 풀이 순서
도서
2022 시나공 정보처리기사 실기
페이지
54
조회수
129
작성일
2022-10-12
작성자
탈퇴*원

안녕하세요.

2권 54페이지 문제6번에서 궁금한 점이 있어 문의드립니다.

 

문제의 조건에

1. '지점이 세 군데 이상 있는 도시에 대해' 

2. '각 도시별로' 

3. '그 도시에서 매출액이 1000을 초과하는 지점들의 

4. 평균 매출액' 

을 구하시오.

라고 나와 있는데, 문제 조건에 따르면 1->2 ->3-> 4번 순으로 적용되는 것 같은데 

답을 보면 3->2->1 -> 4번 순으로 적용되는 것 같아 헷갈리네요.

 

만약 표가 첨부한 사진처럼 있다고 할 때, 1-> 2-> 3-> 4번 순으로 적용하면 답이 2500으로 나옵니다. (지점이 세 군데 이상 있는 도시를 먼저 고르니까 소속도시가 A 인 곳만 선택되고, 그 다음 매출액 1000 넘는 곳은 2행, 3행이니까 평균 매출액은 2500이 됩니다) 

그런데 정답에 나와있는 sql 문 대로 하면 3->2->1-> 4 번 순이니까 답이 없습니다. (먼저 매출액이 1000 초과하는 지점들을 골라야 하니까 1,7행을 제외한 2,3,4,5,6행이 선택되고, 그 다음 각 도시별로 묶었을 때 지점이 세 군데 이상 있는 곳이 없습니다. 그래서 조건에 해당되는 지점이 없고 평균 매출액을 구할 수 없습니다) 

 

순서에 따라 답이 달라져서 

sql문을 테이블에 적용할 때 어떤 순서로 적용하는게 맞는 건지 궁금합니다. 1-> 2-> 3-> 4번 순이 맞는지, 3->2->1 -> 4번 순이 맞는지.. 

저는 sql문에서 조건들을 적용할 때 위에서부터 차례로 (where 조건 적용 후 group by, having 순서대로 적용, 3->2->1-> 4 번 순 ) 적용하는 걸로 알고 있는데 

제 생각이 틀린 건지, 맞는 순서가 뭔지 궁금합니다.

 

 

 

 

 

답변
2022-10-13 10:21:10

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

 

조건의 해석과 SQL문의 적용 순서 역시 알고 계신 것이 맞습니다.

다만 출제되는 문제들이 항상 완전하지만은 않다는 것을 염두에 두셔야 합니다. 

(해당 문제는 출제기준 개편 이전 기사 실기에 실제로 출제되었던 문제입니다.) 

 

만약 문제가 전체 SQL문을 작성하는 문제였다면 회원님의 의문은 타당하나, 실제로 정확한 해석과 같이 SQL문을 구현하려면 하위 질의를 이용해야 하는 바, 이미 작성된 SQL문을 보면 문제가 요구하는 것이 조금 다르다는 것을 알 수 있습니다.

 

결국 where 문에는 "1000을 초과하는"

group by에서는 "도시에 대해"

count(*)>= 는 "세 군데 이상"

이라는 <조건>에 제시된 각 부분을 쪼개서 맞는 위치에 넣으라는 의도의 문제임을 파악할 수 있습니다. 

 

문제 자체에 의문이 조금 있더라도 의도 자체를 해석하여 푸는 문제가 종종 등장할 수 있다는 점 염두에 두시고, 이와 같은 경우 가능한 문제 제작자의 의도에 따라 답안을 작성하는 것이 좋습니다.

 

행복한 하루되세요 :)

  • 관리자
    2022-10-13 10:21:10

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

     

    조건의 해석과 SQL문의 적용 순서 역시 알고 계신 것이 맞습니다.

    다만 출제되는 문제들이 항상 완전하지만은 않다는 것을 염두에 두셔야 합니다. 

    (해당 문제는 출제기준 개편 이전 기사 실기에 실제로 출제되었던 문제입니다.) 

     

    만약 문제가 전체 SQL문을 작성하는 문제였다면 회원님의 의문은 타당하나, 실제로 정확한 해석과 같이 SQL문을 구현하려면 하위 질의를 이용해야 하는 바, 이미 작성된 SQL문을 보면 문제가 요구하는 것이 조금 다르다는 것을 알 수 있습니다.

     

    결국 where 문에는 "1000을 초과하는"

    group by에서는 "도시에 대해"

    count(*)>= 는 "세 군데 이상"

    이라는 <조건>에 제시된 각 부분을 쪼개서 맞는 위치에 넣으라는 의도의 문제임을 파악할 수 있습니다. 

     

    문제 자체에 의문이 조금 있더라도 의도 자체를 해석하여 푸는 문제가 종종 등장할 수 있다는 점 염두에 두시고, 이와 같은 경우 가능한 문제 제작자의 의도에 따라 답안을 작성하는 것이 좋습니다.

     

    행복한 하루되세요 :)

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