728x90
반응형
SMALL
안녕하세요! 오늘은 프로그래머스 SQL 코딩 테스트 연습 문제 중 '조건에 맞는 사용자와 총 거래금액 조회하기'를 풀어보았습니다.
주어진 문제는 완료된 중고 거래의 총 금액이 70만 원 이상인 사람의 회원 ID, 닉네임, 총 거래금액을 조회하는 SQL 문을 작성하는 것입니다. 결과는 총 거래금액을 기준으로 오름차순 정렬되어야 합니다.
SELECT ugu.USER_ID, ugu.NICKNAME, SUM(ugb.PRICE) AS TOTAL_TRANSACTION_AMOUNT
FROM USED_GOODS_BOARD ugb
JOIN USED_GOODS_USER ugu ON ugu.USER_ID = ugb.WRITER_ID
WHERE ugb.STATUS = 'DONE'
GROUP BY ugu.USER_ID, ugu.NICKNAME
HAVING SUM(ugb.PRICE) >= 700000
ORDER BY TOTAL_TRANSACTION_AMOUNT ASC;
- SELECT: SELECT 문은 테이블에서 검색할 열을 지정합니다 (ugu.USER_ID, ugu.NICKNAME 및 SUM(ugb.PRICE) AS TOTAL_TRANSACTION_AMOUNT). 여기서 후자는 USED_GOODS_BOARD 테이블의 PRICE 열 값을 합산하여 총 거래 금액을 계산합니다.
- FROM: FROM 절은 쿼리에 사용되는 테이블을 지정하며, 이 경우 USED_GOODS_BOARD입니다.
- JOIN: JOIN 키워드는 USER_ID 및 WRITER_ID 열을 기반으로 USED_GOODS_BOARD 및 USED_GOODS_USER 테이블을 결합하는 데 사용되며, 두 테이블 간의 관계를 설정합니다.
- WHERE: WHERE 절은 완료된 트랜잭션만 검색하는 ugb.STATUS = 'DONE' 조건에 따라 행을 필터링합니다.
- GROUP BY: GROUP BY 절은 ugu.USER_ID와 ugu.NICKNAME을 기준으로 결과를 그룹화하여 각 사용자의 총 거래 금액을 계산할 수 있습니다.
- HAVING: HAVING 절은 총 거래 금액이 700,000보다 크거나 같은 사용자만 검색하는 SUM(ugb.PRICE) >= 700000 조건에 따라 그룹화된 결과를 필터링합니다.
- ORDER BY: ORDER BY 절은 총 거래 금액에 따라 오름차순으로 결과를 정렬하며, 이 금액은 TOTAL_TRANSACTION_AMOUNT ASC로 지정됩니다.

https://school.programmers.co.kr/learn/courses/30/lessons/164668
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
728x90
반응형
LIST
'SQL' 카테고리의 다른 글
[프로그래머스 | SQL] 자동차 평균 대여 기간 구하기 문제 풀이 (Oracle) (0) | 2023.06.16 |
---|---|
[프로그래머스 | SQL] 특정 옵션이 포함된 자동차 리스트 구하기 문제 풀이 (Oracle) (0) | 2023.06.15 |
[프로그래머스 | SQL] 조건에 맞는 사용자 정보 조회하기 코드 풀이 (Oracle) (0) | 2023.06.13 |
[프로그래머스 | SQL] 조회 수가 가장 많은 중고거래 게시판의 첨부파일 조회하기 해석 (Oracle) (0) | 2023.06.12 |
데이터베이스, DBMS, 테이블 및 SQL에 대한 전반적인 모든 것! (1) | 2023.06.11 |