GROUP BY
특정 컬럼을 그룹화한 데이터를 조회할 때 사용한다.
예시 )
SELECT ANIMAL_TYPE
FROM ANIMAL_INS
GROUP BY ANIMAL_TYPE;
HAVING
GROUP BY로 그룹화한 데이터는 HAVING 키워드를 사용하여 조건을 걸 수 있다.
💡 WHERE VS HAVING
WHERE : 그룹화하기 전의 데이터에 대한 조건문
HAVING : 그룹화한 데이터에 대한 조건문
예시 )
SELECT NAME, count(NAME)
FROM ANIMAL_INS
WHERE NAME IS NOT NULL
GROUP BY NAME
HAVING count(NAME) > 1;
이 SQL는 FROM -> WHERE -> SELECT -> GROUP BY -> HAVING 순서로 실행된다.
ORDER BY가 포함되어 있다면 HAVING 다음에 실행된다.
참고 문서
https://programmers.co.kr/learn/courses/30/parts/17044