[SQL 고득점 Kit] 서울에 위치한 식당 목록 출력하기

썹스·2024년 3월 17일

❓ 문제

REST_INFO와 REST_REVIEW 테이블에서 서울에 위치한 식당들의 식당 ID, 식당 이름, 음식 종류, 즐겨찾기수, 주소, 리뷰 평균 점수를 조회하는 SQL문을 작성해주세요. 이때 리뷰 평균점수는 소수점 세 번째 자리에서 반올림 해주시고 결과는 평균점수를 기준으로 내림차순 정렬해주시고, 평균점수가 같다면 즐겨찾기수를 기준으로 내림차순 정렬해주세요.

❗️ 문제 풀이

/*
식당 정보 : REST_INFO
식당 리뷰 : REST_REVIEW
*/
select
    I.REST_ID
    ,I.REST_NAME
    ,I.FOOD_TYPE
    ,I.FAVORITES
    ,I.ADDRESS
    ,round(avg(R.REVIEW_SCORE), 2) as SCORE
from REST_INFO as I, REST_REVIEW as R
where 1=1
    and I.REST_ID = R.REST_ID
    and I.ADDRESS like '서울%'
group by REST_ID
order by SCORE desc, I.FAVORITES desc

📚 느낀점

Select문에 집계함수를 사용하면 1개의 행값만을 출력/조회한다.
여기서 출력/조회된 행의 각 칼럼값은 집계값과 상관이 없다.

각 행에 맞는 집계값을 찾고 싶은 경우에는 Group by 문을 사용해야 한다.

문제 자체는 어렵지 않지만, 실수하지 않게 조심해야겠다 :)



🔗 Reference

https://school.programmers.co.kr/learn/courses/30/lessons/131118

profile
코린이

0개의 댓글