본문 바로가기
Language/DB

[DB 봐 | ORACLE SQL] GROUP BY, HAVING 절 사용법

by ㅇ달빛천사ㅇ 2024. 6. 1.
728x90

GROUP BY 절

그룹별 건수나 합계를 얻을 수 있다.

HAVING 절

그룹별 집계 결과 중 원하는 결과만 필터링하기 위해 필터 조건을 줄 수 있다.

HAVING 절 vs WHERE 절

  • HAVING 절

    • GROUP BY 절과 함께 사용해야 함.

      SELECT ANIMAL_TYPE, 
             COUNT(*) CNT 
      FROM ANIMAL_INS 
      GROUP BY ANIMAL_TYPE;
      실행 결과 실행 결과

      SELECT ANIMAL_TYPE, 
             COUNT(*) CNT 
      FROM ANIMAL_INS 
      GROUP BY ANIMAL_TYPE 
      HAVING COUNT(*) > 50;
      실행 결과 실행 결과
    • GROUP BY 컬럼만 조건절에 사용할 수 있다.

      (GROUP BY에 사용되지 않은 컬럼을 조건으로 사용하면 오류 발생!)


      SELECT ANIMAL_TYPE, 
             COUNT(*) CNT 
      FROM ANIMAL_INS 
      WHERE COUNT(*) > 50 
      GROUP BY ANIMAL_TYPE;
      실행 결과 실행 결과

    • 집계 함수(COUNT, SUM, AVG, MAX, MIN)를 사용하여 조건절을 작성

      • 집계함수를 서로 비교할 수 있다.
    • 집계함수 없이 조건으로 사용 가능

    • AND, OR을 사용하여 여러 조건을 동시에 부여할 수 있다.

728x90


Top