본문 바로가기

코테준비

[SQL] 프로그래머스/서울에 위치한 식당 목록

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

 

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 AS I
JOIN 
    REST_REVIEW AS R
ON 
    I.REST_ID = R.REST_ID
WHERE 
    I.ADDRESS LIKE "서울%"
GROUP BY 
    I.REST_ID
ORDER BY
    SCORE DESC, I.FAVORITES DESC
  • ROUND("값", "자릿수") ex> ROUND("exp", 2) -> 2번째 자리까지 표시 (3번째에서 반올림)
  • AS -> 약어 사용
  • JOIN ON ->  테이블 결합, ON으로 기준 열 지정
  • LIKE -> 문자열 찾기
  • GROUP_BY -> 집계함수(COUNT, AVG, ...) 와 같이 사용, 같은 REST_ID를 가진 행들을 하나의 그룹으로 묶는 역할
  • ORDER_BY -> 쓴 순서대로 정렬, 내림차순할 거면 DESC