https://school.programmers.co.kr/learn/courses/30/lessons/131118
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
코드설명
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