inblog logo
|
LHS's Study Space
    SQL문제풀기

    [SQL 문제 풀기] 서울에 위치한 식당 목록 출력하기(131118)

    lhs's avatar
    lhs
    Jan 25, 2025
    [SQL 문제 풀기] 서울에 위치한 식당 목록 출력하기(131118)
    Contents
    1. 문제 풀이 아이디어2. 나의 정답 코드3. 정리
    school.programmers.co.kr
    https://school.programmers.co.kr/learn/courses/30/lessons/131118
     

    1. 문제 풀이 아이디어

    • 서울 지역 음식점 정보를 결합하고, 평균 리뷰 점수를 계산한 뒤 정렬하면 문제를 해결할 수 있다.

    2. 나의 정답 코드

    SELECT rest_id, rest_name, food_type, favorites, address, ROUND(AVG(review_score), 2) score FROM rest_info NATURAL JOIN rest_review WHERE address LIKE '서울%' GROUP BY rest_id HAVING score IS NOT NULL ORDER BY score DESC, favorites DESC;

    3. 정리

    • NATURAL JOIN을 사용해 rest_info와 rest_review 테이블을 결합한다.
    • WHERE 절에서 주소가 '서울'로 시작하는 음식점만 필터링한다.
    • GROUP BY 절로 rest_id를 기준으로 그룹화하여 음식점별로 데이터를 집계한다.
    • AVG 함수를 사용해 각 음식점의 평균 리뷰 점수를 계산하고 ROUND 함수를 통해 소수점 둘째 자리까지 반올림한다.
    • HAVING 절을 이용해 계산된 평균 점수가 NULL이 아닌 행만 필터링한다.
    • ORDER BY 절을 통해 점수를 기준으로 내림차순 정렬하고, 점수가 동일한 경우 favorites 값을 기준으로 내림차순 정렬한다.
     
    Share article
    Contents
    1. 문제 풀이 아이디어2. 나의 정답 코드3. 정리

    LHS's Study Space

    RSS·Powered by Inblog