#풀이
select u.user_id,
email,
if(p.user_id is null, 0, point) point
from users u left join point_users p on u.user_id =p.user_id
order by 3 desc
-> 일단 두 테이블을 합쳐야 하므로 join으로 연결해준다.
이때 users 테이블이 point_users 테이블보다 유저 데이터가 많으므로 left join으로 연결해준다.
users 테이블에는 있지만 point_users에는 없는 유저는 p.user_id 값이 null이다.
그러므로 조건문으로 p.user_id가 null인 값은 포인트 0을, 아니면 원래의 point 값을 가지도록 조건을 걸어준다.
그러고 order by로 내가 정한 조건 결과의 내림차순으로 정렬해주면 끝
'문제풀이 > 스파르타 - sql 문제' 카테고리의 다른 글
[SQL] 데이터와 친해지는 SQL | 2회차 숙제 (0) | 2024.06.27 |
---|---|
[SQL] 데이터와 친해지는 SQL | 1회차 숙제 (0) | 2024.06.26 |
[사전캠프] SQL 과제 | Lv2. 날짜별 획득포인트 조회하기 (0) | 2024.06.26 |
[사전캠프] SQL 연습문제(7) (0) | 2024.06.26 |
[사전캠프] SQL 연습문제(5) (0) | 2024.06.14 |