데이터베이스 분류
GROUP BY HAVING 절
작성자 정보
- 웹관리자 작성
- 작성일
컨텐츠 정보
- 9,628 조회
- 0 추천
- 목록
본문
| ||
GROUP BY 절은 질의문의 SELECT 절에 하나 이상의 집계 함수가 주어진 경우에 사용된다. 질의 결과는 그룹으로 구성되는데 HAVING 절을 지정하면 GROUP BY 절로 구성되는 모든 그룹을 나열하는 것이 아니라, 지정된 조건을 만족하는 그룹만 조회되도록 조건을 설정할 수 있다. | ||
1) 구문 | ||
| ||
expression_list : expression_list는 하나 이상의 컬럼 이름 또는 표현식으로 구성되며, 각각의 항목은 쉼표(,)로 구별되어야 한다. | ||
search_condition : 질의 결과 그룹은 HAVING 선택 사항에서 지정한 search_condition에 의해 한정할 수 있다. 질의 결과로 여러 그룹이 생성되었을 경우에도 특정 논리 표현식을 만족하는 그룹만 표시되도록 제한할 수 있다. | ||
2) 예제 | ||
다음은 1988년 이후 올림픽에서 각 해마다의 금메달 개수가 몇 개인지 조회하는 예제이다. participant 테이블에 대해 host_year별로 gold의 합을 구한다. 이 예제에서 테이블 participant 인스턴스는 5개의 서로 다른 host_year 값을 가지므로 5개의 그룹이 만들어지고, 각각의 host_year 값의 그룹에 대해 sum(gold) 값이 계산된다. | ||
| ||
다음은 국가별로 올림픽에 출전한 선수들을 묶고, 200명 이상 출전한 국가에 대해서 국가코드와 선수 수를 조회하는 예제이다. GROUP BY 절에 HAVING 절을 더하여 지정 조건에 만족하는 인스턴스를 조회할 수 있다. 위의 질의문에서는 count(code)가 200이 넘는 인스턴스에 한해 nation_code로 묶여 조회된다. WHERE가 SELECT 절의 조건절이라고 한다면, HAVING은 GROUP BY 절의 조건절이 된다. GROUP BY 절에 컬럼뿐만 아니라 표현식을 나열할 수도 있다. 이 경우 표현식은 컬럼, 함수, 상수 값으로 구성될 수 있다. | ||
| ||
"무단배포금지: 클라우드포털(www.linux.co.kr)의 모든 강좌는 저작권에 의해 보호되는 콘텐츠입니다. 무단으로 복제하여 배포하는 행위는 금지되어 있습니다."
관련자료
-
이전
-
다음
댓글 0
등록된 댓글이 없습니다.