SELECT FOOD_TYPE, REST_ID, REST_NAME, FAVORITES FROM REST_INFO
WHERE FAVORITES IN (SELECT MAX(f.FAVORITES) FROM REST_INFO f GROUP BY FOOD_TYPE)
GROUP BY FOOD_TYPE
ORDER BY FOOD_TYPE DESC
특정 칼럼에 대해서 최대값인 튜플을 찾아야 할 때
위 문제의 경우 FAVORITES가 가장 많은 튜플을 찾아야 한다. 이럴땐 특정 칼럼에 대한 최대값들을 미리 만들어 놓은 테이블에 해당 값이 포함되는지 검사하여 찾는 방법을 사용한다.
서브쿼리를 실행한 결과
서브 쿼리 테이블에 FAVORITES가 포함되는지 WHERE 절을 통해 검사하면서 최대값을 갖는 튜플을 찾는 로직으로 작성한다.