https://school.programmers.co.kr/learn/courses/30/lessons/131118
코드설명
INNER JOIN + LIKE + ROUND + AVG 를 사용합니다.
문제에서 유의할점은, '서울%' 로 사용해야 합니다. ( '%서울%'로 할경우 시 이름에 동서울 이런식으로 들어간다면 서울이 아닌데도 성공합니다.)
코드
SELECT RI.REST_ID, RI.REST_NAME, RI.FOOD_TYPE, RI.FAVORITES, RI.ADDRESS, ROUND(AVG(RR.REVIEW_SCORE), 2) AS SCORE
FROM REST_INFO AS RI
INNER JOIN REST_REVIEW AS RR
ON RI.REST_ID = RR.REST_ID
WHERE RI.ADDRESS LIKE ('서울%')
GROUP BY RI.REST_ID
ORDER BY SCORE DESC, RI.FAVORITES DESC
ORACLE
-- 코드를 입력하세요
SELECT RI.REST_ID, RI.REST_NAME, RI.FOOD_TYPE, RI.FAVORITES, RI.ADDRESS, ROUND(AVG(RR.REVIEW_SCORE), 2) AS SCORE
FROM REST_INFO RI
INNER JOIN REST_REVIEW RR
ON RI.REST_ID = RR.REST_ID
-- WHERE RI.ADDRESS LIKE '서울%'
WHERE REGEXP_LIKE(RI.ADDRESS, '^서울')
GROUP BY RI.REST_ID, RI.REST_NAME, RI.FOOD_TYPE, RI.FAVORITES, RI.ADDRESS
ORDER BY SCORE DESC, RI.FAVORITES DESC