[SQL 과제 LV. 3] 이용자의 포인트 조회하기
#상황: 이용자별로 획득한 포인트를 이메일로 보내주기
Table_1 Name > user
- user_id: 익명화된 유저들의 아이디(varchar255)
- created_at: 아이디 생성 날짜(timestamp)
- updated_at: 정보 업데이트 날짜(timestamp)
- name: 익명화된 유저들의 이름(varchar255)
- email: 이메일(varchar255)
Table_2 Name > user_point
- point_user_id: user_point 행을 구별하기 위한 key(varchar255)
- created_at: 아이디 생성 날짜(timestamp)
- updated_at: 정보 업데이트 날짜(timestamp)
- user_id: 익명화된 유저들의 아이디(varchar255)
- point: 보유하고 있는 포인트(int)
# 문제: 다음과 같은 결과 테이블을 만들어보자
1. user_id: 익명화된 유저들의 아이디
2. email: 유저들의 이메일
3. point: 유저가 획득한 포인트
- user 테이블에는 있지만 point_user에 있지 않은 user는 포인트가 없으므로 0 으로 처리
- 포인트 기준으로 내림차순 정렬
# 정답:
select A.user_id, A.email,
coalesce(B.point, 0) as point from users A
inner join point_users B
on A.user_id = B.user_id
group by B.point desc;
'SQL' 카테고리의 다른 글
[SQL 연습 문제 7] 랭크 게임 하다가 싸워서 피드백 남겼어요… (0) | 2024.06.18 |
---|---|
[SQL 연습 문제 6] 팀 프로젝트 열심히 했으니 다시 놀아볼까요?! (0) | 2024.06.18 |
[SQL 과제 LV. 2] 날짜별 획득 포인트 조회하기 (0) | 2024.06.10 |
[SQL 과제 LV. 1] 데이터 속 김서방 찾기 (0) | 2024.06.10 |
[SQL 연습 문제 5] 공부하다 보니 팀 프로젝트 시간이 왔어요! (0) | 2024.06.10 |