티스토리 뷰

1. HAVING 절 - 역할

GROUP BY절에 사용되어 집계 함수를 사용한 조건을 명시하는 절



2. HAVING 절 - 기본 테이블

 TEST_TABLE_ONE


NAME

AMT

DEPT 

테스트1

1000 

test_d1

테스트2

1000 

test_d1

테스트3

3000 

 

테스트4

2000 

test_d2

테스트5

2000 

test_d2




3. HAVING  - SQL 문장1

◈ SQL

1
SELECT DEPT,COUNT(*) FROM TEST_TABLE_ONE WHERE COUNT(*)>1 GROUP BY DEPT




◈ 결과 


 ORA-00934: group function is not allowed here


◈ 설명


DEPT에 해당하는 사람 수를 구하는데 2명 이으로 된 부서만 표시하고 싶어서 위와 같이 작성했는데 WHERE 절에 COUNT(*)를 사용했을 경우 GROUP  FUNCTION 은 허가되지 않는다고 나타납니다


이를 위해서 HAVING이 생겼습니다






4. HAVING  - SQL 문장2

◈ SQL

1
SELECT DEPT,COUNT(*) FROM TEST_TABLE_ONE GROUP BY DEPT HAVING COUNT(*)>1




◈ 결과 테이블


 DEPT

 COUNT(*)

 test_d2

 test_d1




댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday