SQL 문법 | 데이터 조회 및 필터 | HAVING
본 포스트에서는 HAVING절에 대해서 알아볼 것이다. GROUP BY를 이용해서 그룹핑 한 결과중에서 특정 결과만을 원할 때 조건절을 추가해 줘야 하는 데 그 때 사용하는 것이 HAVING이다. HAVING은 기본 SQL문에서 WHERE절과 비슷하다.
WHERE에 대한 자세한 설명은 다음 글에서 확인할 수 있다.
SQL 문법 | 데이터 조회 및 필터 | WHERE BETWEEN
WHERE은 여러가지 다른 명령어들과 함께 사용이 가능하다. 그 중 BETWEEN에 대해서 알아보자. BETWEEN은 AND와 함께 무엇과 무엇 사이라는 뜻을 갖고 있다. 본래의 뜻과 마찬가지의 기능을 갖고 있다. 01
zyngirok.com
SQL 문법 | 데이터 조회 및 필터 | WHERE LIKE
01. 정확한 정보가 아닐 때 포함 문자열만 검색하고 싶을 때 : LIKE 어떤 정보를 정확히 알고 있진 않은데 포함 문자열을 알고 있을 때가 있다. 혹은 특정 문자열을 포함하고 있는 열들의 자료가 필
zyngirok.com
SQL 문법 | 데이터 조회 및 필터 | WHERE IS NULL
자료를 입력하다 보면 입력되지 않은 공간들이 생긴다. 그런 자리를 NULL이라는 데이터 타입이 차지하고 있다. 이번 포스트는 작성되지 않아 존재하지 않지만 작성되지 않은 데이터라고 불리는 N
zyngirok.com
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 절이 포함된 쿼리 내에서는 그 일리어스를 이용해서 그 컬럼값을 불러올 수 없다. 따라서 그 컬럼값을 불러 오고 싶다면 위의 예시처럼 일리어스 전의 모든 내용을 불러와서 써야 한다.