
select c1.checkin_id, c1.course_id, c1.user_id, c1.likes,
(select avg(c2.likes) from checkins c2
where c1.course_id = c2.course_id) as avg_likes
from checkins c1
위 쿼리문을 연습하고 있는데요.
select avg(c2.likes) from checkins c2 where c1.course_id = c2.course_id
서브 쿼리 보면, where에서 서브쿼리와 메인(?) 쿼리를 이어주기 위해 where 로 묶어 주는건 이해를 했는데요.
서브 쿼리만 단독으로 쓴다고 했을 때,
즉, 체크인 테이블에서 전체 like의 평균을 구하고자 할 때,
where 없이
select avg(likes) from checkins
이렇게 단독으로 써도 되는 걸까요?
연습 문제대로 봤을 때, course 별로 평균 like를 구하고 싶으면
select avg(likes) from checkins
group by course_id
이렇게 쓰면 되는 걸까요?
맨 위에서 where를 쓴건 서브쿼리라서 이어 주기 위해서만 사용된게 맞을지 궁금합니다.
