
* 겪고 있는 문제 상황을 최대한 자세하게 작성해주세요.
* 문제 해결을 위해 어떤 시도를 해보았는지 구체적으로 함께 알려주세요.
select c.checkin_id, c.user_id, c.likes,
(
select avg(likes) from checkins
where c.user_id = user_id
) as avg_likes_user
from checkins c
이 서브쿼리와
select checkin_id, user_id, likes,
(
select avg(likes) from checkins c
where user_id = c.user_id
) as avg_likes_user
from checkins
이 서브쿼리의 avg(likes) 추출값이 서로 다른데 왜 그런가요?
checkins c와 checkins 가 의미하는 바가 다른가요? 테이블명 뒤에 붙는 c 같은 것도 alias의 일종인줄 알고 반드시 붙여하는 건 아니라고 생각했는데 그렇지 않은가요?
2. from 절
포인트가 많은 사람은 유저별 좋아요 평균도 높은지 pu테이블과 checkins 테이블을 붙여서 확인해보는 과정에서,
select pu.user_id, pu.point, a.avg_likes from point_users pu
inner join(
select user_id, avg(likes) as avg_likes from checkins
group by user_id
) a on pu.user_id = a.user_id
이런 쿼리문이 작성되었는데, 서브 쿼리 안에 있는 'avg(likes) as avg_likes'를 'avg(likes)'로만 쓰고 첫번째 select 절에서도 a.avg(likes)로 쓸 수는 없는 건지 궁금해서 해봤더니 오류가 났습니다..
왜 꼭 as를 붙여 줘야 하는 건가요?
