책 내용 질문하기
2권 72쪽 15번
도서
2023 시나공 정보처리기사 실기
페이지
72
조회수
233
작성일
2023-04-17
작성자
탈퇴*원
첨부파일

정답이 

Select 상호, 총액

F rom 거래내역

Where 총액 In (Select Max(총액)

                 F rom 거래내역)

이라고 되어있는데

 

그냥

Select 상호, Max(총액) as 총액

F rom 거래내역

으로 쓰면 답이 틀린건가요?

 

*F rom은 붙여쓰면 부적절한 문구가 섞여있다하여 글이 등록되지 않아, 띄어쓰기 했습니다.

답변
2023-04-19 10:04:03

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

 

안됩니다.

 

그룹함수를 그룹없이 사용하게 되면 테이블을 하나의 그룹으로 봅니다.

그래서 테이블에서 최대값에 해당하는 총액이 나오지만, 상호는 튜플 전체 또는 max(총액)과 관계없는 첫번째 튜플의 상호만 출력되게 됩니다.

결과 : 대명금속 / 948000

 

혹여 상호로 그룹을 하고 max를 출력한다 하더라도, 상호가 다 다르므로 튜플 하나당 그룹 하나가 지어지게 되고, 이렇게 되면 그룹 내의 max는 구할 이유가 없어지게 됩니다. 

 

행복한 하루되세요 :)

  • 관리자
    2023-04-19 10:04:03

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

     

    안됩니다.

     

    그룹함수를 그룹없이 사용하게 되면 테이블을 하나의 그룹으로 봅니다.

    그래서 테이블에서 최대값에 해당하는 총액이 나오지만, 상호는 튜플 전체 또는 max(총액)과 관계없는 첫번째 튜플의 상호만 출력되게 됩니다.

    결과 : 대명금속 / 948000

     

    혹여 상호로 그룹을 하고 max를 출력한다 하더라도, 상호가 다 다르므로 튜플 하나당 그룹 하나가 지어지게 되고, 이렇게 되면 그룹 내의 max는 구할 이유가 없어지게 됩니다. 

     

    행복한 하루되세요 :)

  • 관리자
    2023-04-21 09:55:09

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

     

    예, 가능합니다.

     

    max 대신 all을 사용한 질의가 나올 것이라고는 생각도 못해봤는데, 창의적인 답변이네요 :)

     

    혹시나 구문 오류가 생길까 싶어(논리적으로는 맞으나 코드 규칙 상 오류인 경우)

    실제로 MySQL에서 돌려봤으나 정상적으로 결과가 나왔습니다.

     

    행복한 하루되세요 :)

     

     

  • *
    2023-04-21 04:29:00

    그럼 혹시

    Select 상호,총액

    F rom 거래내역

    Where 총액 >= ALL(Select 총액

                          F rom 거래내역)

    은 가능할까요..!

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