TOP
class="layout-aside-left paging-number">
본문 바로가기
자격증/SQLD

SQLD 2과목 SQL 기본 및 활용 - GROUP BY, HAVING 절

by 기록자_Recordian 2024. 1. 12.
728x90
반응형

 

SQLD 2과목 SQL 기본 및 활용

<목차>

 

GROUP BY, HAVING 절

 

1) GROUP BY 절: SQL 문에서 FROM 절과 WHERE 절 뒤에 오며, 데이터들을 작은 그룹으로 분류하여 소그룹에 대한 항목별로 통계 정보를 얻을 때 추가로 사용.

SELECT [DISTINCT] 칼럼명 [ALIAS 명]
FROM 테이블명
[WHERE 조건식]
[GROUP BY 칼럼(Column) 이나 표현식]
[HAVING 그룹조건식];

 

2) HAVING 절: WHERE 절과 비슷하지만 그룹을 나타내는 결과 집합의 행에 조건이 적용

(WHERE 절은 집계 함수 사용할 수 없음.)

- WHERE 절의 조건 변경은 대상 데이터의 개수가 변경되므로 결과 데이터 값이 변경될 수 있지만,

HAVING 절의 조건 변경은 결과 데이터 변경은 없고 출력되는 레코드의 개수만 변경.


GROUP BY 절과 HAVING 절의 특성
  • GROUP BY 절을 통해 소그룹별 기준을 정한 후, SELECT 절에 집계 함수 사용
  • 집계 함수의 통계 정보는 NULL 값을 가진 행을 제외하고 수행
  • GROUP BY 절에서는 SELECT 절과는 달리 ALIAS 명을 사용할 수 없음.
  • 집계 함수는 WHERE 절에는 올 수 없음. (집계 함수를 사용할 수 있는 GROUP BY 절보다 WHERE 절이 먼저 수행됨)
  • WHERE 절은 전체 데이터를 GROUP으로 나누기 전에 행들을 미리 제거 시킴
  • HAVING 절은 GROUP BY 절의 기준 항목이나 소그룹의 집계 함수를 이용한 조건을 표시할 수 있다.
  • GROUP BY 절에 의한 소그룹별로 만들어진 집계 데이터 중, HAVING 절에서 제한 조건을 두어 조건을 만족하는 내용만 출력
  • HAVING 절은 일반적으로 GROUP BY 절 뒤에 위치
  • 관계형 데이터베이스에 환경에서는 ORDER BY 절을 명시해야 데이터 정렬이 수행됨.
  • HAVING 절은 SELECT 절에 사용되지 않은 칼럼이나 집계 함수가 아니더라도 GROUP BY 절의 기준 항목이나 소그룹의 집계 함수를 이용한 조건을 표시할 수 있음.

이전글

WHERE 절

 

다음글

조인

728x90
반응형