Part 8. SQL (응용 SQL)
정보처리기사 실기 Part 8. SQL (응용 SQL)
Section 1. 집계 함수
1. 단일 행 함수
- " 행 각각을 처리하여 각각의 결과값을 반환 "
2. 다중 행 함수
- " 전체 또는 그룹별로 데이터를 처리하여 단일 결과값을 반환 "
3. 집계 함수
- " 다중 행 함수로 여러 행을 처리한 후 하나의 행의 결과 값을 반환한다 "
- COUNT 함수 제외 다른 모든 함수는 NULL 값 계산 X
- SUM, AVG, COUNT, MAX, MIN, STDDEV, VARIANCE
Section 2. GROUP BY절을 이용한 그룹 처리 함수
1. GROUP BY 절
- " 컬럼별로 그룹을 지어 그룹 처리를 하기 위한 문법으로 SELECT 속성이름 부분에 맨 처음으로 무조건 나와야 함 "
2. ROLLUP 함수
- " 주어진 컬럼별 소그룹 간의 집계와 총계를 계산하여 원래 테이블에 추가하여 결과 반환 "
- 컬럼의 수 N개이면 (N+1)개의 레벨
SELECT DEPT 학과, GRADE 학년, ROUND(AVG(TEST)) 평균
FROM STUDENT
GROUP BY ROLLUP(DEPT, GRADE);
# ROLLUP(A,B,C)이면
ABC
AB
A
(총계)이렇게 (N+1)단계로 작은 단계부터 상단에 표시
3. CUBE 함수
- " 주어진 컬럼들 간의 결합 가능한 모든 조합의 그룹 집계와 총계를 계산하여 원래 테이블에 추가 후 반환 "
SELECT DEPT 학과, GRADE 학년, ROUND(AVG(TEST)) 평균
FROM STUDENT
GROUP BY CUBE(DEPT, GRADE);
# CUBE(A,B,C)이면
(총계)
ABC
AB
AC
BC
A
B
C 이런식으로 N^2 단계로 큰 단계부터 상단에 표시
Section 3. GROUP BY절을 사용하지 않는 윈도우 함수
1. 윈도우 함수
- " 분석 함수라고도 하며 윈도우라는 분석 함수용 그룹을 정의하여 계산 수행 "
2. 윈도우 함수 문법
SELECT [UNIQUE] 속성명,,,
OVER([PARTITION BY 컬럼명] [ORDER BY 절] [WINDOWING 절])
FROM 테이블명
# GROUP BY를 사용하지 않고 그룹별 처리
SELECT UNIQUE DEPT, GRADE, COUNT(*)
OVER(PARTITION BY DEPT, GRADE) 인원수
FROM STUDENT
ORDER BY DEPT, GRADE;
# 순위 계산용 RANK()함수
SELECT DEPT, ENAME, SALARY,RANK() OVER(ORDER BY SALARY DESC) 전체순위
FROM EMP;
Author And Source
이 문제에 관하여(Part 8. SQL (응용 SQL)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@codren/Part-8.-SQL-응용-SQL저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)