Allen's 데이터 맛집

프로그래머스 lv. 4 : 서울에 위치한 식당 목록 출력하기 본문

SQL/SQL 문제풀이

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

Allen93 2024. 2. 4. 06:32

문제

풀이

-- 서울 지역 음식점 정보 및 리뷰 평점 조회
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
JOIN
    rest_review r ON i.rest_id = r.rest_id
WHERE
    i.address LIKE '서울%'
GROUP BY
    rest_name
ORDER BY
    score DESC, i.favorites DESC;

 

1. rest_info 테이블과 rest_review 테이블을 rest_id를 기준으로 조인하여 음식점 정보와 리뷰 정보를 결합합니다.


2. i.address LIKE '서울%'를 통해 주소가 '서울'로 시작하는 음식점들만 선택합니다.


3. GROUP BY rest_name을 통해 음식점 이름으로 그룹화합니다. 이는 같은 이름의 음식점이 여러 리뷰를 가질 수 있기 때문에 중복을 방지합니다.


4. ROUND(AVG(r.REVIEW_SCORE), 2)를 사용하여 리뷰 평점의 평균을 계산하고, 소수점 두 자리까지 반올림합니다.


5. ORDER BY score DESC, i.favorites DESC를 통해 평점이 높은 순서로 정렬하고, 평점이 같은 경우에는 즐겨찾기 수

(i.favorites)가 높은 순서로 정렬합니다.

 


이 쿼리를 실행하면 '서울'로 시작하는 음식점들 중에서 리뷰 평점이 높은 순서로 정렬된 결과가 나옵니다.

 

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

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

728x90