YS's develop story

MySQL ) left outer join 활용, ifnull 활용 본문

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

Comments