반응형
문제설명
- 테이블1명 : REST_INFO
- 설명 : 식당 정보
NAME | TYPE | NULLABLE | KEY | COMMENT |
REST_ID | VARCHAR(5) | FALSE | PK | 식당 ID |
REST_NAME | VARCHAR(50) | FALSE | 식당이름 | |
FOOD_TYPE | VARCHAR(20) | TRUE | 음식종류 | |
VIEWS | NUMBER | TRUE | 조회수 | |
FAVORIES | NUMBER | TRUE | 즐겨찾기수 | |
PARKING_LOT | VARCHAR(1) | TRUE | 주차장 유무 | |
ADDRESS | VARCHAR(100) | TRUE | 주소 | |
TEL | VARCHAR(100) | TRUE | 전화번호 |
- 테이블2명 : REST_REVIEW
- 설명 : 식당의 리뷰 정보
NAME | TYPE | NULLABLE | KEY | COMMENT |
REPLY_ID | VARCHAR(10) | FALSE | PK | 리뷰 ID |
REST_ID | VARCHAR(10) | TRUE | FK | 식당 ID |
MEMBER_ID | VARCHAR(100) | TRUE | 회원 ID | |
REVIEW_SCORE | NUMVER | TRUE | 점수 | |
REVIEW_TEXT | VARCHAR(1000) | TRUE | 리뷰 텍스트 | |
REVIEW_DATE | DATE | TRUE | 리뷰 작성 |
문제
서울에 위치한 식당들의 식당 ID, 식당 이름, 음식 종류, 즐겨찾기수, 주소, 리뷰 평균 점수를 조회하는 SQL문을 작성해주세요. 이때 리뷰 평균점수는 소수점 세 번째 자리에서 반올림 해주시고 결과는 평균점수를 기준으로 내림차순 정렬해주시고, 평균점수가 같다면 즐겨찾기수를 기준으로 내림차순 정렬해주세요.
SQL 답
SELECT a.REST_ID
, a.REST_NAME
, a.FOOD_TYPE
, a.FAVORITES
, a.ADDRESS
, ROUND(AVG(REVIEW_SCORE),2) AVG_REVIEW_SCORE
FROM REST_INFO a
JOIN REST_REVIEW b
ON a.REST_ID = b.REST_ID
GROUP BY a.REST_ID
, a.REST_NAME
, a.FOOD_TYPE
, a.FAVORITES
, a.ADDRESS
HAVING a.ADDRESS LIKE '서울%'
ORDER BY AVG_REVIEW_SCORE DESC
, a.FAVORITES DESC
반응형
'IT > SQL' 카테고리의 다른 글
[프로그래머스] SQL 고득점 Kit - 오프라인/온라인 판매 데이터 통합하기(Oracle) (0) | 2023.11.05 |
---|---|
[프로그래머스] SQL 고득점 Kit - 재구매가 일어난 상품과 회원 리스트 구하기(Oracle) (0) | 2023.10.14 |
[프로그래머스] SQL 고득점 Kit - 조건에 부합하는 중고거래 댓글 조회하기(Oracle) (2) | 2023.10.11 |
[프로그래머스] SQL 고득점 Kit - 강원도에 위치한 생산공장 목록 출력하기(Oracle) (0) | 2023.10.11 |
[프로그래머스] SQL 고득점 Kit - 과일로 만든 아이스크림 고르기(Oracle) (0) | 2023.10.06 |