손영배 블로그 누구나 쉽게 이해하고 습득하기
HAVING 절은 언제 사용하는가? 본문
- 총 구매액이 1000 이상인 사용자에게만 사은품을 증정하고 싶다면 where 구문으로 생각했을 것이다.
SELECT userID AS '사용자', SUM(price*amount) AS '총구매액' FROM buyTbl WHERE SUM(price*amount) > 1000 GROUP BY userID;
하지만 오류가 난다.
집계 함수(SUM,,,)는 where절에 나타날 수 없다는 얘기이다.
이럴 때 사용되는 것이 HAVING절이다. HAVING절은 WHERE와 비슷한 개념으로 조건을 제한하는 것이지만, 집계함수에 대해서 조건을 제한하는 것이라고 생각하면 된다. 그리고 HAVING절은 꼭 GROUP BY절 다음에 나와야 한다. 순서가 바뀌면 안된다.
select userID AS '사용자', SUM(price*amount) AS '총구매액' FROM buyTbl group by userID HAVING SUM(price*amount) > 1000;
'Interview' 카테고리의 다른 글
try catch finally 실행순서 (0) | 2019.09.02 |
---|---|
JVM이 뭐에요? (0) | 2019.08.31 |
그래서 추상클래스(abstract)와 인터페이스(interface)의 차이가 뭔데요? (0) | 2019.08.31 |
추상클래스(abstract) (0) | 2019.08.31 |
인터페이스(interface)란? (0) | 2019.08.31 |