문제
다음은 식당의 정보를 담은 REST_INFO 테이블과 식당의 리뷰 정보를 담은 REST_REVIEW 테이블이다. REST_INFO 테이블은 다음과 같으며 REST_ID은 식당 ID, REST_NAME은 식당 이름, FOOD_TYPE은 음식 종류, VIEWS은 조회수, FAVORITES은 즐겨찾기수, PARKING_LOT은 주차장 유무, ADDRESS은 주소, TEL은 전화번호를 의미한다.
REST_REVIEW 테이블은 다음과 같으며 REVIEW_ID은 리뷰ID, REST_ID은 식당 ID, MEMBER_ID은 회원 ID, REVIEW_SCORE은 점수, REVIEW_TEXT은 리뷰 텍스트, REVIEW_DATE은 리뷰 작성일을 의미한다.
REST_INFO와 REST_REVIEW 테이블에서 서울에 위치한 식당들의 식당 ID, 식당 이름, 음식 종류, 즐겨찾기수, 주소, 리뷰 평균 점수를 조회하는 SQL문을 작성하라. 이때 리뷰 평균점수는 소수점 세 번째 자리에서 반올림 해주시고 결과는 평균점수를 기준으로 내림차순 정렬해주시고, 평균점수가 같다면 즐겨찾기수를 기준으로 내림차순 정렬하라.
조건
- 어떤 테이블에서 데이터를 뽑을 것인가 : REST_INFO, REST_REVIEW
- 어떤 컬럼을 이용할 것인가 : REST_ID, REST_NAME, FOOD_TYPE, FAVORITES, ADDRESS, SCORE
- 어떤 조건을 지정해야 하는가 : 리뷰 평균점수는 소수점 세 번째 자리에서 반올림
- 어떤 함수(수식)을 이용해야 하는가 : JOIN, GROUP BY, HAVING, ORDER BY, ROUND
SELECT RR.REST_ID, RI.REST_NAME, RI.FOOD_TYPE, RI.FAVORITES, RI.ADDRESS, ROUND(AVG(REVIEW_SCORE),2) AS SCORE
FROM REST_REVIEW AS RR JOIN REST_INFO AS RI ON RR.REST_ID = RI.REST_ID
GROUP BY RR.REVIEW_ID
HAVING RI.ADDRESS LIKE '서울%'
ORDER BY SCORE DESC, RI.FAVORITES DESC
'내배캠_Data_3기 > SQL' 카테고리의 다른 글
[코딩연습]조건에 부합하는 중고거래 상태 조회하기 (1) | 2024.09.03 |
---|---|
[코딩연습]특정 옵션이 포함된 자동차 리스트 구하기 (1) | 2024.09.02 |
[코딩연습]조건에 맞는 사용자 정보 조회하기 (1) | 2024.08.29 |
[코딩연습]최댓값 구하기 (1) | 2024.08.28 |
[코딩연습]재구매가 일어난 상품과 회원 리스트 구하기 (0) | 2024.08.27 |