반응형

문제
서울에 위치한 식당들의 식당 ID, 식당 이름, 음식 종류, 즐겨찾기수, 주소, 리뷰 평균 점수를
조회하는 SQL문을 작성
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
요구 사항 확인
식당 아이디, 식당 이름, 음식 종류, 즐겨찾기수, 주소, 리뷰 평균 점수만 조회
식당 점수(REVIEW_SCORE)를 구하기 위해 식당의 정보(REST_INFO) 테이블과
식당의 리뷰 정보(REST_REVIEW) 테이블 JOIN 진행(기준 컬럼 : REST_ID)
위에서 구한 점수를 바탕으로 식당 아이디(REST_ID)별 평균 점수(AVG()) 조회
식당 주소(ADDRESS)가 서울에 있는 경우만 조회(ADDRESS like '서울%')
'%서울%' 이라고 작성한다면 통과하지 못함
ORDER BY 내림차순(SCORE), 식당의 평균 점수가 같다면 내림차순(FAVORITES) 정렬
select ri.REST_ID, REST_NAME, FOOD_TYPE, FAVORITES, ADDRESS, round(avg(REVIEW_SCORE),2) as SCORE from REST_INFO ri join REST_REVIEW rr on ri.REST_ID = rr.REST_ID where ADDRESS like '서울%' group by ri.REST_ID order by SCORE desc, FAVORITES desc;

이와 비슷한 SQL 문제를 풀어보고 싶다면
프로그래머스에서 풀어볼 수 있습니다.
https://school.programmers.co.kr/
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
반응형
'코딩 테스트 > 프로그래머스_MySQL' 카테고리의 다른 글
[프로그래머스] MySQL_자동차 대여 기록에서 장기/단기 대여 구분하기(String, Date) (0) | 2025.03.19 |
---|---|
[프로그래머스] MySQL_자동차 평균 대여 기간 구하기(String, Date) (0) | 2025.03.19 |
[프로그래머스] MySQL_자동차 대여 기록에서 대여중 / 대여 가능 여부 구분하기(GROUP BY) (0) | 2025.03.18 |
[프로그래머스] MySQL_재구매가 일어난 상품과 회원 리스트 구하기(SELECT) (0) | 2025.03.16 |
[프로그래머스] MySQL_특정 물고기를 잡은 총 수 구하기(SELECT) (0) | 2025.03.16 |