[12] 부트캠프 TIL - SQL과제 4주차

2024. 8. 21. 14:52부트캠프 TIL

728x90

※   AVG() , like, date_format(), COUNT(), ROUND(), COALESCE(), LEFT JOIN, order by, group by 등 사용

 

4-1) 데이터 속 김서방 찾기

ㄴ문제 : users테이블에서 김씨 성을 가지고 있는 교육생의 수를 조회하세요.

ㄴ쿼리문 : SELECT COUNT(*) AS name_cnt FROM users WHERE name LIKE '김%';

4-2) 날짜별 획득 포인트 조회하기

ㄴ문제 : users_point테이블에서 아이디 생성날짜를 날짜별로 조회하고, 날짜 별로 획득한 평균포인트를 소수점없이 조회하세요.

ㄴ쿼리문 : SELECT 
DATE_FORMAT(created_at, '%Y-%m-%d') as created_at, 
ROUND(AVG(point)) AS average_points
FROM point_users GROUP BY DATE_FORMAT(created_at, '%Y-%m-%d');

4-3) 이용자의 포인트 조회하기

ㄴ문제 : users 테이블에서 아이디와 이메일을 조회하고 point_users테이블에서 해당 아이디가 가지고 있는 포인트를 조회하세요.  (users 테이블에는 있고, point_users테이블에는 없는 데이터는 포인트가 없으므로 0으로 처리 / 포인트 기준으로 내림차순 정렬)

ㄴ쿼리문 : SELECT 
u.user_id,
u.email,
COALESCE(p.point,0) as point
FROM users u
LEFT JOIN
point_users p ON p.user_id = u.user_id 
ORDER BY point DESC;

728x90