문제: 💳 이용자의 포인트 조회하기
이번에는 이용자들 별로 획득한 포인트를 학생들에게 이메일로 보내려고 합니다.
이를 위한 자료를 가공해봅시다. 특히 users 테이블에는 있으나 point_users 에는 없는 유저가 있어요.
이 유저들의 경우 point를 0으로 처리합시다.
조건
user_id: 익명화된 유저들의 아이디
email: 유저들의 이메일
point: 유저가 획득한 포인트
users 테이블에는 있지만 point_users에는 없는 user는 포인트가 없으므로 0 으로 처리
포인트 기준으로 내림차순 정렬
1. 알고리즘
- Users 테이블 기준으로 데이터를 다 가져와야한다.
- point_users에 있는 point 에 만약 값이 null 이면 0으로 바꾸어주기.
- 포인트 기준 내림차순.
2. SQL 코드
SELECT u.user_id, u.email, if(p.point <> 0, point, 0) point
FROM users u LEFT JOIN point_users p on u.user_id = p.user_id
ORDER BY point DESC
'백엔드 부트캠프[사전캠프] > 문제풀이' 카테고리의 다른 글
[SQL 달리기반 레벨 4] 💸 가장 높은 월급을 받는 직원은? (0) | 2025.02.01 |
---|---|
[SQL 달리기반 레벨 4] 🛒 단골 고객님 찾기 (0) | 2025.01.31 |
[SQL 달리기반 레벨 2] 📆 날짜별 획득포인트 조회하기 (0) | 2025.01.31 |
[내일배움캠프-사전캠프 문제풀이] JAVA 보너스 문제 "가위바위 보" (1) | 2025.01.24 |
[내일배움캠프-사전캠프 문제풀이] JAVA 응용문제 3 (2) | 2025.01.23 |