Outer Join 시 데이터 없을 경우 Count를 0 처리하는 방법
코딩 테스트에서 자주 나오는 SQL 문제이다. SELECT a.ID AS PLACE_ID, a.NAME, COUNT(IFNULL(b.CNT, 0)) AS '개수' FROM PLACES AS a LEFT OUTER JOIN PLACE_REVIEWS b ON a.ID = b.PLACE_ID ORDER BY a.ID 생각보다 간단해서 금방 해결될줄 알았지만.... 데이터가 없는 경우 로우는 포함되지 않는 결과값이 나왔다. null일 경우 0 처리를 하기 위해서는 SELECT a.ID AS PLACE_ID, a.NAME, IFNULL(b.CNT, 0) AS '개수' FROM PLACES AS a LEFT OUTER JOIN ( SELECT PLACE_ID, COUNT(*) AS CNT FROM PLACE_REV..