반응형
본 포스트에서는 HAVING절에 대해서 알아볼 것이다. GROUP BY를 이용해서 그룹핑 한 결과중에서 특정 결과만을 원할 때 조건절을 추가해 줘야 하는 데 그 때 사용하는 것이 HAVING이다. HAVING은 기본 SQL문에서 WHERE절과 비슷하다.
WHERE에 대한 자세한 설명은 다음 글에서 확인할 수 있다.
HAVING
01 HAVING 절
GROUP BY를 사용한 후 특정 조건을 만족하는 결과만 또 필터링 해야 할 때가 있다. 그럴 때 사용 하는 것이 HAVING 절이다. HAVING은 GROUP BY 절 이후에 WHERE 과 비슷한 형식으로 작성된다. 기본 형식은 다음과 같다.
SELECT COL1, COUNT(COL2)
FROM TABLE
GROUP BY COL1
HAVING <CONDITION>
;
<CONDITION>에는 BOOLEAN 타입의 결과가 와야한다.
EXAMPLE
짝수 달의 (짝수 달 별) 매출액을 알려주세요.
SELECT MONTH, SUM(AMOUNT)
FROM SHOP
GROUP BY MONTH
HAVING (MONTH % 2) = 0
;
EXAMPLE
달 별 매출액 중 5,000,000원 이상인 달의 매출액만 보여주세요.
SELECT MONTH, SUM(AMOUNT) AS SUM
FROM TABLE
GROUP BY MONTH
HAVING SUM(AMOUNT) >= 5000000
;
여기서 중요한 것을 알 수 있다. SELECT절에서 일리어스를 이용해서 컬럼의 이름을 정의했다. 하지만 SELECT 절이 포함된 쿼리 내에서는 그 일리어스를 이용해서 그 컬럼값을 불러올 수 없다. 따라서 그 컬럼값을 불러 오고 싶다면 위의 예시처럼 일리어스 전의 모든 내용을 불러와서 써야 한다.
반응형
'ICT > SQL' 카테고리의 다른 글
SQL 문법 | 데이터 조회 및 필터 | ROLL UP (0) | 2021.09.13 |
---|---|
SQL 문법 | 데이터 조회 및 필터 | GROUPING SETS (0) | 2021.09.12 |
SQL 문법 | 데이터 조회 및 필터 | GROUP BY (0) | 2021.09.11 |
SQL 문법 | NULL에 대해서 | NULL NVL NVL2 COALESCE NULLIF (0) | 2021.09.10 |
SQL 문법 | 주요 데이터 타입 (0) | 2021.09.09 |
댓글