코딩테스트/SQL
[SQL Lv4] 서울에 위치한 식당 목록 출력하기
박창준
2024. 11. 14. 10:11
문제 해석
1. 리뷰테이블에서 "서울"에 위치한 식당 정보를 출력한다.
2. 이때 리뷰 평균점수는 소수점 세번째 자리에서 반올림한다.
3. 결과는 평균점수를 기준으로 내림차순, 그렇지 않다면 즐겨찾기수를 기준으로 내림차순한다.
문제 풀이
1. 리뷰테이블과 식당 테이블을 INNER JOIN한다.
2. "%서울"로 LIKE연산자를 사용해서 ADDRESS를 추출
3. ROUND함수를 사용해서 AVG(리뷰.점수,2)으로 세번째 자리까지 평균 점수를 반올림한다.
SELECT R.REST_ID, R.REST_NAME,R.FOOD_TYPE, R.FAVORITES,R.ADDRESS, ROUND(AVG(S.REVIEW_SCORE),2) AS SCORE
FROM REST_INFO R
INNER JOIN REST_REVIEW S
WHERE R.REST_ID = S.REST_ID
AND R.ADDRESS LIKE '서울%'
GROUP BY R.REST_ID
ORDER BY SCORE DESC, FAVORITES DESC
처음엔 %서울%로 풀어서 서울로 시작하는 주소를 추출했는데 만약 주소에 "부산광역시 서울병원" 과 같은 주소가 포함되면 정확하게 추출되지 않으니 첫 시작 단어를 서울로 바꿔서 풀었다.