프로그래머스 - 서울에 위치한 식당 목록 출력하기(MySQL)

박진우·2022년 10월 20일
0

SQL

목록 보기
3/23

💡서울에 위치한 식당 목록 출력하기

◽ 문제




◽ 예시




◽ 출력 결과 예시




◽ 풀이

✅ 요약

  • REST_INFO REST_REVIEW의 테이블에서 서울에 위치한 식당들의 식당 ID, 식당 이름, 음식 종류, 즐겨찾기수, 주소, 리뷰 평균 점수를 조회하는 SQL문을 작성하는 문제이다.

    • 리뷰 평균점수는 소수점 세 번째 자리에서 반올림한다. 그리고 평균점수 DESC AND 즐겨찾기 DESC




✅ 전체 풀이

  • 1번째 줄: REST_REVIEW를 기준으로 JOIN 연산을 수행할 것이기 때문에 REST_REVIEW를 A라고 두고, 필요한 필드를 가져왔다.

    AVG()를 이용하여 A.REVIEW_SCORE평균을 구하고 ROUND() 를 이용하여 2번째 자리 +1 3번째 자리에서 반올림 한다. 별칭은 SCORE


  • 2번째 줄: 기준이 될 REST_REVIEW를 써주고, 별칭은 A 로 주었다.

  • 3번째 줄: REST_INFO의 별칭을 B로 정하고, ON으로 REST_ID로 조건을 주어 같은 ID끼리 결합했다.

  • 4번째 줄: REST_ID로 그룹화한다.

  • 5번째 줄: 서울로 시작하는 주소를 가져온다.

  • 6번째 줄: 마지막으로 SCORE와 FAVORITES를 내림차순으로 정렬하여 출력하면 끝




💡배운점

◽ LIKE

  • PARK으로 시작하는 데이터 검색
select * from tbl_board where title like 'PARK%';
  • PARK으로 끝나는 데이터 검색

select * from tbl_board where title like '%PARK';

  • PARK이 들어가는 데이터 검색

select * from tbl_board where title like '%PARK%';

◽ ROUND

SELECT ROUND(3456.1234567) FROM DUAL// 3456

SELECT ROUND(3456.1234567 ,1) FROM DUAL// 3456.1

SELECT ROUND(3456.1234567 ,4) FROM DUAL// 3456.1235

SELECT ROUND(3456.1234567 ,-1) FROM DUAL// 3460

SELECT ROUND(3456.1234567 ,-2) FROM DUAL// 3500

0개의 댓글