[SQL] 연습

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

Simon Yoon 2024. 12. 20. 22:30

문제:

서울에 위치한 식당들의 식당 ID, 식당 이름, 음식 종류, 즐겨찾기수, 주소, 리뷰 평균 점수를 조회
- 리뷰 평균점수는 소수점 세 번째 자리에서 반올림
- 결과는 평균점수를 기준으로 내림차순 정렬, 즐겨찾기수를 기준으로 내림차순 정렬

 

해결방법:

1. 리뷰 평균점수는 식당 ID 별 GROUP BY로 계산

2. 식당 ID 로 식당 정보 테이블과 리뷰 테이블을 조인

3. 서울에 위치한 식당을 찾기 위해 LIKE 사용

4. ORDER BY 로 점수와 즐겨찾기 수 기준으로 내림차순 정렬

 

예시 답안:

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