https://school.programmers.co.kr/learn/courses/30/lessons/164668
SELECT UG.USER_ID,UG.NICKNAME,SUM(PRICE) AS TOTAL_SALES
FROM USED_GOODS_USER AS UG, USED_GOODS_BOARD AS UB
WHERE UG.USER_ID = UB.WRITER_ID
AND UB.STATUS = 'DONE'
GROUP BY UG.USER_ID
HAVING TOTAL_SALES >=700000
ORDER BY TOTAL_SALES;
문제에서 도출해내야하는 테이블은 회원아이디와 닉네임 중고거래 총금액을 뽑아야하고
FROM에서 ,로 할경우 디폴트인 INNER JOIN이 발생하게되고
현재 USER_ID 를 기준으로 그룹이 나눠지기 때문에 GROUP BY는 USER_ID 기준으로 진행되고
WHERE 문에서 현재 UB에서는 USER_ID 가 없기 때문에
그 값을 담고 있는 WRITER_ID와 UG의 USER_ID 가 같은 경우 거기에
완료된 중고 거래를 가격을 찾아야하기 때문에 UB.STATUS 가 DONE인 것들
총 금액이 70만 이상인 사람만 테이블을 뽑아와야하기 때문에 HAVING 절에서 TOTAL_PRICE 가 70만 이상인 사람을 조건을 걸고
마지막으로 총거래 금액을 기준으로 오름차순 정렬을 진행해야 하므로 ORDER BY TOTAL_PRICE로 SQL문이 끝이 납니다.
문제를 풀면서 느낀건 처음부터 한번에 짜려는 것보단 조건을 쪼개서 값을 추출해보는게 가장 좋은 것 같네요.