최대 1 분 소요

Problem

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

table1
table2
problem

Idea

식당에 대한 데이터는 REST_INFO 테이블에, 리뷰에 대한 데이터는 REST_REVIEW 테이블이 나뉘어 저장되어 있기 때문에 우선 식당 아이디에 대한 키 값인 REST_ID를 기준으로 이너 조인한다.

각 식당의 리뷰 평균 점수를 찾기 위해 REST_ID를 기준으로 그룹화한다. 이후 소수점 세 번째 자리에서 반올림된 리뷰 평균 점수를 구하기 위해 AVG와 ROUND를 이용했다.

Code

SELECT INFO.REST_ID, REST_NAME, FOOD_TYPE, FAVORITES, ADDRESS, ROUND(AVG(REVIEW_SCORE), 2) AS SCORE
FROM REST_INFO INFO
JOIN REST_REVIEW REVW
    ON INFO.REST_ID = REVW.REST_ID
WHERE ADDRESS LIKE '서울%'
GROUP BY INFO.REST_ID
ORDER BY SCORE DESC, FAVORITES DESC;

Comment