HAVING : GROUP BY에 의한 결과를 필터링 할 때 사용
WHERE와 HAVING의 차이
필터링 구문 | 필터링 시점 |
---|---|
WHERE | GROUP BY 전 데이터 필터링 |
HAVING | GROUP BY 후 결과값을 가지고 데이터 필터링 |
SELECT
기준컬럼,
집계함수
FROM 테이블명
WHERE 조건(생략가능)
GROUP BY 기준 컬럼
HAVING 조건식
사용 이유
실행 순서
서브쿼리의 종류
-- 중첩 서브쿼리
SELECT column1, column2
FROM table1
WHERE column1 > (SELECT column2 FROM table1 WHERE column3 = 'value')
-- 스칼라 서브쿼리
SELECT column1
(
SELECT COUNT(*)
FROM table1
WHERE column2 = 'value'
) subquery
FROM table2
-- 인라인 뷰
SELECT *
FROM(
SELECT
t1.column1,
t2.column2
FROM table1 t1
JOIN table2 t2 ON t1.column3 = t2.column3
) subquery
WHERE coulmn2 = 'value'