스파르타_SQL_개발일지

Left Join 심화학습

천재메기 2023. 2. 16. 14:06

퀴즈를 풀어보자

select count(pu.point_user_id) as pnt_user,
       count(u.user_id) as tot_user_cnt,
       Round(count(pu.point_user_id)/count(u.user_id),2) as ratio
  from users u 
  left join point_users pu on u.user_id = pu.user_id 
 where u.created_at BETWEEN '2020-07-10' and '2020-07-20'

SQL은 alias 라는 개념으로 users면 u 이런 식으로 별칭을 만들어서 쓴다. 

그리고 Between and 구문을 쓸 때, 날짜를 넣어주는 경우 시간을 넣지 않고 날짜까지만 넣는 경우 0시 00분으로 인식하기 때문에 저렇게 위처럼 날짜까지만 쓸때는 하루 더 늘려서 넣어줘야 제대로 값이 나온다.

7월 19일까지의 데이터를 뽑고 싶으면 비트윈에는 20일 0시 00분으로 넣어줘야 된다는 말씀!