-- 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 값 산출
댓글 영역