상세 컨텐츠

본문 제목

[데이터베이스]DB_쿼리문 SQL_ GROUP BY/ HAVING절

Data Base_데이터베이스

by 쫑메이 2020. 8. 27. 00:05

본문

 

 

 

 

 

 

 

 

DATABASE

 

 

 

 

 

 

 

[데이터베이스] 사용자와 관계형 데이터베이스를 연결시켜주는 표준 검색 언어

Structured Query Language의 약자

데이터베이스에서 쓰이는 언어 중에서 가장 널리 알려지고 많이 사용되고 있으며,

SELECT FROM WHERE 구조

SQL은 데이터를 정의하는데 쓰이는 명령문과 데이터를 삽입 · 삭제하는 등의 조작에 쓰이는 부분,

그리고 query 명령문 부분과 그 외의 기능을 수행하는 부분들로 이루어져 있다.

 

 

 

 


 

[데이터베이스]DB_쿼리문 :그룹 함수


 

 

 

그룹단위로 값을 입력 받아 연산하는 함수

NULL값을 가진 행은 연산에서 제외한다.

 

 

 

 

 

 

 

 

 

 

 


[데이터베이스]DB_쿼리문 : 그룹 함수 종류


 

 

 

 

<집계함수의 종류>

▶COUNT(*) - NULL 값을 포함한 행의 수를 출력한다.

▶COUNT(표현식) - 표현식의 값이 NULL 값인 것을 제외한 행의 수를 출력한다.

▶SUM([DISTINCT | ALL] 표현식) - 표현식의 NULL 값을 제외한 합계를 출력한다.

▶AVG([DISTINCT | ALL] 표현식) - 표현식의 NULL 값을 제외한 평균을 출력한다.

▶MAX([DISTINCT | ALL] 표현식) - 표현식의 최대값을 출력한다.

(문자, 날짜 데이터 타입도 사용 가능)

 

▶MIN([DISTINCT | ALL] 표현식) - 표현식의 최소값을 출력한다.

(문자, 날짜 데이터 타입도 사용 가능)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


[데이터베이스]DB_쿼리문 :GROUP BY절


 

 

- GROUP BY 절은 데이터들을 원하는 그룹으로 나눌 수 있다.

- 나누고자 하는 그룹의 컬럼명을 SELECT절과 GROUP BY절 뒤에 추가하면 된다.

- 그룹 함수와 함께 사용되는 상수는 GROUP BY 절에 추가하지 않아도 된다.

- GROUP BY절의 의미는 그룹 함수를 GROUP BY절에 지정된 컬럼의 값이 같은 행에

대해서 통계 정보를 계산하라는 의미

 

 

 

 

 

 

 

 

테이블의 행을 그룹으로 묶을 때 그룹을 묶는 기준을 설정하는 절.

기준 컬럼의 값이 동일한 행끼리 하나의 그룹으로 묶는다.

기준 컬럼의 값이 그룹의 이름이 된다.

 

 

 

 

 

 

 

 

 

쿼리구문에 WHERE절이 있는 경우

WHERE로 행을 먼저 선택한 뒤 그룹이 묶이게 된다.

 

 

 

그룹 함수를 사용한 경우 SELECT 절에는 그룹 함수,

GROUP BY절에 명시된 컬럼만 올 수 있다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


 

[데이터베이스]DB_쿼리문 : HAVING 절


 

그룹에 대한 제한을 걸 때 쓴다.

즉, 대상이 group by절에 묶인 것들 중에 조건을 걸어 골라낸다

- WHERE 절에서는 일반함수가 못들어가고, 그룹함수가 들어간다

 

 

 

 

 

 

 

 

- HAVING 절은 그룹함수를 가지고 조건비교를 할 때 사용한다.

- HAVING절은 GROUP BY절과 함께 사용이 된다.

 

 

 

 

 

 

 

- SELECT 절, HAVING 절, ORDER BY 절에 사용할 수 있다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


GROUP BY 절과 HAVING 절의 특징


 

 

 

GROUP BY 절을 통해 소그룹별 기준을 정한 후,

SELECT 절에 집계 함수를 사용

 

 

그룹 함수의 통계 정보는 NULL 값을 가진 행을 제외하고 수행한다.

GROUP BY 절에서는 SELECT 절과는 달리 ALIAS 명을 사용불가

 

 

그룹 함수는 WHERE 절에 올 수 없다.

(그룹 함수를 사용할 수 있는 GROUP BY 절보다 WHERE 절이 먼저 수행)

WHERE 절은 전체 데이터를 GROUP으로 나누기 전에

행들을 미리 제거시킨다.

HAVING 절은 GROUP BY 절의 기준 항목이나

소그룹의 그룹 함수를 이용한 조건을 표시할 수 있다.

 

 

 

GROUP BY 절에 의한 소그룹별로 만들어진 집계 데이터 중,

HAVING 절에서 제한 조건을 두어 조건을 만족하는 내용만 출력한다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


[데이터베이스]DB_쿼리문 : 

데이터타입 상관없이 사용_ 그룹함수


 

 

COUNT([ALL|DISTINCT] *|expr) 행 개수를 세는 함수.

(*를 사용한 경우 입력받은 행의 개수를 센다)

 

 

 

 

 

 

 

 

 

 

 


 

MAX([ALL|DISTINCT] expr) 최대값 함수

MIN([ALL|DISTINCT] expr) 최소값 함수

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


 

ㅣ읽느라 수고 많으셨어요~ㅣ

 

 

 

 

 

 

 


 

 


 

 

 

 

 

 

부족한 글을 읽어주셔서 감사드립니다

 

 

아직 부족한게 많으니

틀린 곳이 있다면

조언의 말씀 꼭 부탁드립니다!!!!

 

 

 

 

 

 

 


 

 

 

 

 

 

 

 

 

 

 

반응형

관련글 더보기