코딩테스트 연습 > GROUP BY > 조건에 맞는 사용자와 총 거래금액 조회하기
https://school.programmers.co.kr/learn/courses/30/lessons/164668
USED_GOODS_BOARD와 USED_GOODS_USER 테이블에서 완료된 중고 거래의 총금액이 70만 원 이상인 사람의 회원 ID, 닉네임, 총거래금액을 조회하는 SQL문을 작성하라. 결과는 총거래금액을 기준으로 오름차순 정렬하라.

서브 쿼리를 통해 USED_GOODS_BOARD에서 STATUS 가 DONE 것들을 WRITER_ID로 GROUP BY 하고, 합이 700000 이상인 것들을 가져온다.
가져온 내용을 바탕으로 USED_GOODS_USER 테이블의 USER_ID 와 USED_GOODS_BOARD 의 WRITER_ID를 기준으로 JOIN 후, USER_ID, NICKNAME, TOTAL_SALES을 SELECT한다.
SELECT UGB.WRITER_ID AS USER_ID, UGU.NICKNAME AS NICKNAME, UGB.TOTAL_SALES AS TOTAL_SALES
FROM USED_GOODS_USER AS UGU
JOIN (
SELECT WRITER_ID, SUM(PRICE) AS TOTAL_SALES
FROM USED_GOODS_BOARD
WHERE STATUS = "DONE"
GROUP BY WRITER_ID
HAVING TOTAL_SALES >= 700000
) AS UGB
ON UGB.WRITER_ID = UGU.USER_ID
ORDER BY TOTAL_SALES
서브쿼리에서 HAVING을 통해 조건을 설정해도 되고, JOIN 이후에 WHERE을 이용하여 조건을 설정해도 된다.