IT/SQL

[MySQL] 프로그래머스 - 서울에 위치한 식당 목록 출력하기

무지개는 환상 2024. 1. 25. 12:01

<REST_INFO> & <REST_REVIEW> 테이블 구조

REST_INFO 테이블
REST_REVIEW 테이블

 

<문제>

 

 

 

<문제 풀이>

SELECT R.REST_ID, REST_NAME, FOOD_TYPE, FAVORITES, ADDRESS,
    round(avg(review_score), 2) as score
FROM REST_INFO AS I
    JOIN REST_REVIEW AS R
    ON I.REST_ID = R.REST_ID
WHERE ADDRESS LIKE '서울%'
group by REST_ID
ORDER BY SCORE DESC, FAVORITES DESC;

 

우선 두 테이블을 내부조인을 한 후, 각 식당별 평균에 대한 값을 구하기 위해 SELECT 절에 집계함수를 이용하였다.

계속 문제를 틀리길래 이것 저것 시도해보다가 결국 다른 블로그를 보았다..

 

그런데 원인은 사실 WHERE 절이었다..

나는 서울특별시 로 하고 있어서 계속 틀리고 있었다!

조금 억울한게 예시답안의 식당 테이블에는 서울 식당은 서울특별시로 한개만 있었다...ㅠ

 

하지만 어쨌든 테이블을 제대로 보지 않은 내 자신의 휴먼에러가 맞기 때문에 무척 아쉬웠다.

실수를 줄이기 위해 쿼리문만 꼼꼼히 볼 뿐만 아니라 테이블을 좀 더 탐색해서 다양한 경우까지 고려하고 작성을 해야겠다..!

 

출처 : 프로그래머스 - 서울에 위치한 식당 목록 출력하기