Database/MySQL
MySQL ) left outer join 활용, ifnull 활용
Yusang
2021. 2. 11. 18:55
MySQL ) left outer join 활용, ifnull 활용
아래와 같이 Restaurant라는 테이블이 있습니다.
또한 아래와 같이 Review라는 테이블이 있습니다.
아래와 같은 쿼리를 실행하면 각 식당의 리뷰수가 몇 개 인지 출력할 수 있습니다.
select restaurantName,reviewCount from Restaurant
inner join (select restaurantId, count(*) as reviewCount from Review group by restaurantId)
ReviewCount on Restaurant.restaurantId = ReviewCount.restaurantId
리뷰수 가 0개인 식당도 같이 출력하게 하려면 null 값도 표시 하는 left outer join을 활용하면 됩니다.
select restaurantName,reviewCount from Restaurant
left outer join (select restaurantId, count(*) as reviewCount from Review group by restaurantId) ReviewCount
on Restaurant.restaurantId = ReviewCount.restaurantId
이때 null 값을 0으로 하려면 아래와 같이 쿼리를 작성하면 됩니다.
select restaurantName,ifnull(reviewCount, 0) reviewCount from Restaurant
left outer join (select restaurantId, count(*) as reviewCount from Review group by restaurantId) ReviewCount
on Restaurant.restaurantId = ReviewCount.restaurantId