관리 메뉴

오늘도 배운다

서울에 위치한 식당 목록 출력하기 / 프로그래머스, SQL 코딩테스트 연습SELECT 본문

코딩테스트연습(SQL)

서울에 위치한 식당 목록 출력하기 / 프로그래머스, SQL 코딩테스트 연습SELECT

LearnerToRunner 2022. 11. 25. 07:44

문제

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

 

제출답안(MySQL)

SELECT rr.rest_id, 
    rest_name, 
    food_type, 
    favorites, 
    address, 
    ROUND(AVG(review_score), 2) AS score
FROM rest_info AS ri RIGHT OUTER JOIN rest_review AS rr ON ri.rest_id = rr.rest_id
WHERE address LIKE '서울%'
GROUP BY rr.rest_id
ORDER BY score DESC, favorites DESC

 

 

 

풀이(MySQL)

더보기

rest_id 기준으로 두 테이블을 join

FROM rest_info AS ri RIGHT OUTER JOIN rest_review AS rr ON ri.rest_id = rr.rest_id

>> rest_id 칼럼이 nullable 하고 review table 자료가 중요하다 생각되어 right outer join을 하였음

 

주소가 서울로 시작하는 데이터를 rest_id로 그룹화

WHERE address LIKE '서울%'
GROUP BY rr.rest_id

 

 

 

문제 바로가기(MySQL)

 

728x90
Comments