프로그래머스/My SQL

서울에 위치한 식당 목록 출력하기

싱싱한복초이 2024. 12. 19. 18:04

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

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

 

[문제]

REST_INFO REST_REVIEW 테이블에서 서울에 위치한 식당들의 식당 ID, 식당 이름, 음식 종류, 즐겨찾기수, 주소, 리뷰 평균 점수를 조회하는 SQL문을 작성해주세요. 이때 리뷰 평균점수는 소수점 세 번째 자리에서 반올림 해주시고 결과는 평균점수를 기준으로 내림차순 정렬해주시고, 평균점수가 같다면 즐겨찾기수를 기준으로 내림차순 정렬해주세요.

 

[나의 풀이]

 

(틀린 풀이)

SELECT I.REST_ID, REST_NAME, FOOD_TYPE, FAVORITES, ADDRESS, 
ROUND(AVG(REVIEW_SCORE),2) SCORE
FROM REST_INFO I LEFT JOIN REST_REVIEW R
ON I.REST_ID = R.REST_ID
WHERE ADDRESS LIKE "서울특별시%"
GROUP BY REST_ID, REST_NAME, FOOD_TYPE, FAVORITES, ADDRESS
ORDER BY SCORE DESC, FAVORITES DESC;

문제점1. REST_INFO에 있는 식당 중 평점이 등록되지 않은 식당이 있다.

문제점2. ADDRESS에 서울특별시~ 가 아닌 서울시~로 등록된 식당이 있다.

 

(올바른 풀이)

SELECT I.REST_ID, REST_NAME, FOOD_TYPE, FAVORITES, ADDRESS, 
ROUND(AVG(REVIEW_SCORE),2) SCORE
FROM REST_INFO I INNER JOIN REST_REVIEW R
ON I.REST_ID = R.REST_ID
WHERE ADDRESS LIKE "서울%"
GROUP BY I.REST_ID, REST_NAME, FOOD_TYPE, FAVORITES, ADDRESS
ORDER BY SCORE DESC, FAVORITES DESC;

 

[다른풀이]

 

-출처

https://shuu.tistory.com/187

 

프로그래머스 (Lv 4) - 서울에 위치한 식당 목록 출력하기

1) 문제 설명 다음은 식당의 정보를 담은 REST_INFO 테이블과 식당의 리뷰 정보를 담은 REST_REVIEW 테이블입니다. REST_INFO 테이블은 다음과 같으며 REST_ID, REST_NAME, FOOD_TYPE, VIEWS, FAVORITES, PARKING_LOT, ADDRESS,

shuu.tistory.com