// SELECT : 최종 출력에 필요하는 속성 정의(ALIAS 사용)
SELECT member_name, review_text, DATE_FORMAT(review_date, '%Y-%m-%d') AS review_date
// FROM : 사용하는 테이블 정의(JOIN 사용)
FROM member_profile JOIN rest_review ON member_profile.member_id = rest_review.member_id
// WHERE : from절의 조건 추가(조건문 사용(IN))
WHERE member_profile.member_id IN(
// 서브쿼리 1 시작(1등의 ID 찾기)
SELECT member_id
FROM (
// 서브쿼리 2 시작(1등 찾기)
SELECT member_id, RANK() OVER (ORDER BY COUNT(*) DESC) AS r
FROM rest_review
// GROUP BY : 조건별로 테이블을 그룹화
GROUP BY member_id
)
WHERE r = 1
)
// ORDER BY : 1번째 값을 기준으로 정렬, 1번째 값이 같다면 2번째 값을 기준으로 정렬
ORDER BY review_date, review_text
// RANK() OVER : OVER 뒤의 결과의 순위를 메김
// DATE_FORMAT(속성, "%Y-%m-%d") : date의 출력 형식을 YYYY-MM-DD 형식으로 바꿈