본문 바로가기
  • BLG-ZYNGIROK-모토-꿈꾸며-배우고-나누며-이루다
ICT/SQL

SQL 문법 | 데이터 조회 및 필터 | HAVING

by dazwischen 2021. 9. 11. 22:04
반응형

본 포스트에서는 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

SQL 문법 조회 필터 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 절이 포함된 쿼리 내에서는 그 일리어스를 이용해서 그 컬럼값을 불러올 수 없다. 따라서 그 컬럼값을 불러 오고 싶다면 위의 예시처럼 일리어스 전의 모든 내용을 불러와서 써야 한다. 

반응형

댓글