알고리즘 공부/SQL

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

마달랭 2024. 10. 17. 23:21
반응형

아이디어

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

 

  1. 서울에 위치한 식당 = WHERE I.ADDRESS LIKE '서울%'
  2. 리뷰 평균 점수 = AVG(R.REVIEW_SCORE)
  3. 리뷰 평균점수는 소수점 세 번째 자리에서 반올림 = ROUND(AVG(R.REVIEW_SCORE),2)
  4. 평균점수를 기준으로 내림차순 정렬 = ORDER BY 6 DESC
  5. 평균점수가 같다면 즐겨찾기수를 기준으로 내림차순 정렬 = ORDER BY 6 DESC, 4 DESC

 

정답

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

 

 

참고 사항

SQL을 실행하면 다음과 같이 출력되어야 합니다.

REST_ID REST_NAME FOOD_TYPE FAVORITES ADDRESS SCORE
35 삼촌식당 일식 80 서울특별시 강서구 가로공원로76가길 4.5

 

ROUND(AVG(R.REVIEW_SCORE),2) AS SCORE

 

리뷰 평균 점수는 SCORE로 AS를 지정해 주어야 한다.

728x90
반응형