• 카테고리

    질문 & 답변
  • 세부 분야

    데이터 분석

  • 해결 여부

    미해결

AS를 사용한 쿼리문 작성이 뭐가 틀렸는지 모르겠어요

21.05.27 17:13 작성 조회수 173

0

SELECT Salary * Months AS "Earnings",

       MAX(Earnings) AS "MAX_Earnings",

       COUNT(MAX_Earnings)

FROM Employee

답변 1

답변을 작성해보세요.

0

안녕하세요 David Jusuk Um님

에러메세지를 첨부해주시지 않아 쿼리로만 확인했을 때에는 SELECT 문에서 연산되지 않은 결과를 불러오려고 하신 것이 문제가 된 것 같습니다.

SELECT 문에서 콤마로 구분된 항목들은 순차적으로 계산되는 것이 아니라, 동시에 연산되는 것으로 생각 해주셔야합니다. 즉, SELECT문 내에서 Earnings 데이터가 먼저 정의되었다고 해서 그 다음 항목에서 MAX(Earnings)처럼 Earnings로 정의한 데이터를 바로 불러와서 쓸 수는 없습니다. 하나의 SELECT문 내에 있는 여러개의 항목들은 한꺼번에 처리가 되기 때문이에요.

마찬가지의 이유로 MAX_Earnings 데이터를 SELECT문에 정의해주셨다고 해서 그 뒤에 바로 COUNT(MAX_Earnings)와 같이 연산한 데이터를 바로 사용할 수는 없습니다.

만약 SELECT 문으로 불러온 결과에 대해 추가적인 연산을 진행하고 싶은 경우에는 서브쿼리라는 것을 사용할 수 있습니다. 관련 내용은 SQL 고급반 커리큘럼 또는 인터넷 검색시 찾아보실 수 있는 내용이므로 참고 부탁드립니다.

설명이 이해가 안되신다면 추가 질문 올려주세요.

감사합니다.