본문 바로가기
MySql

MySQL MySql-HAVING vs WHERE

by 베이스 공부 2021. 1. 2.
반응형

이 두 쿼리의 차이점은 무엇입니까?

SELECT f.name, 
       u.name, 
       u.id 
FROM   families f 
       JOIN units u 
         ON f.unit_id = u.id 
HAVING u.id IN( 43, 413, 22 )

과:

SELECT f.name, 
       u.name, 
       u.id 
FROM   families f 
       JOIN units u 
         ON f.unit_id = u.id 
WHERE  u.id IN( 43, 413, 22 )

이 두 쿼리의 결과는 정확히 동일합니다. 그렇다면 차이점은 무엇입니까?

 

해결 방법

 

SQL에서 having 절과 where 절의 차이점은 where 절은 집계와 함께 사용할 수 없지만 having 절은 사용할 수 있다는 것입니다. 이를 생각하는 한 가지 방법은 having 절이 where 절에 대한 추가 필터라는 것입니다.


 

참조 페이지 https://stackoverflow.com/questions/16155937

 

 

반응형

댓글