상세 컨텐츠

본문 제목

SQL 문제풀이_패캠 강의 예시

카테고리 없음

by 천승원 2022. 1. 7. 17:25

본문

 

-- PAYMENT 테이블에서 단일 거래의 AMOUNT의 액수가 가장 많은 고객들의 CUSTOMER_ID를 추출하라.
-- 단, CUSTOMER_ID 값은 유일해야 한다.

예상되는 쉬운 답안
SELECT
CUSTOMER_ID
FROM
PAYMENT P
WHERE
AMOUNT >= 11.99
ORDER BY
AMOUNT DESC

SQL 교정 정답
-- 같은 답이 나오더라도 SQL 수업시간에는 데이터 탐색 없이 쿼리문만을 통해서 답안을 만드는 방법을 권유함

-- 머리속에서 상상을 하고, 서브쿼리도 사용해서 쿼리문을 작성하는 방식을 권유함

-- ALIAS를 가르쳐야하나... 고민, 헷갈려할거같은디

SELECT
DISTINCT CUSTOMER_ID    ->SELECT DISTINCT로 중복값 제거 (단, CUSTOMER_ID 값은 유일해야 한다.)
FROM
PAYMENT
WHERE
AMOUNT IN (
          SELECT
            AMOUNT
           FROM
            PAYMENT
           ORDER BY
             AMOUNT desc limit 1  ) -- limit를 사용하여 하나의 최고 AMOUNT 값 산출

댓글 영역