공부

[SQL] (프로그래머스) '서울에 위치한 식당 목록 출력하기' 문제 풀기

Lucy Loop 2024. 6. 19. 20:28

-- REST_INFO와 REST_REVIEW 테이블에서 
-- 서울에 위치한 식당들의 
-- 식당 ID, 식당 이름, 음식 종류, 즐겨찾기수, 주소, 리뷰 평균 점수
-- 리뷰 평균점수는 소수점 세 번째 자리에서 반올림 해주시고
-- 평균점수를 기준으로 내림차순 정렬, 즐겨찾기수를 기준으로 내림차순 정렬해주세요.

 

(오라클 구문)

SELECT  i.REST_ID, REST_NAME, FOOD_TYPE,
        FAVORITES, ADDRESS, ROUND( AVG(r.review_score), 2 ) AS SCORE
FROM    REST_INFO  i, REST_REVIEW r
WHERE   i.address LIKE '서울%'
    AND i.rest_id = r.rest_id
GROUP BY    i.REST_ID, REST_NAME, FOOD_TYPE,
        FAVORITES, ADDRESS
ORDER BY    score desc, favorites desc

-- 배운 것 : 
-- 실행 순서 group by -> select -> order by라서 select에서 써준 as score를 group by에는 쓸 수 없고 order by에는 쓸 수 있다
-- group by에는 조회할 컬럼을 다 적어줘야 한다 (그룹함수 사용한 컬럼은 당연히 제외)