-
이전글
2020/04/28 - [2020년도 상반기/정처기] - [2020 정보처리기사 실기] Section 08.SQL 응용(DCL)
- SELECT
SELECT [PREDICATE] [테이블명]속성명[AS별칭][, [테이블명]속성명, ...] [, 그룹함수(속성명)[AS별칭]] [, WINDOW함수 OVER (PARTITION BY 속성명1, 속성명2, ... ORDER BY 속성명3, 속성명4, ...)] FROM 테이블명[,테이블명, ...] [WHERE 조건] [GROUP BY 속성명, 속성명,...] [HAVING 조건] [ORFER BY 속성명[ASC|DESC]];
- PREDICATE : 불올 튜플 수를 제한할 명령어
- ALL : 주로 생략
- DISTINCT : 중복제거
- DISTINCT : 중복제거하지만 속성 값이 아닌 튜플 전체를 대상으로 함
- 그룹 함수 : 그룹별로 속성의 값을 집계
- WINDOW 함수 : GROUP BY절을 이용하지 않고 속성의 값을 집계할 함수를 기술
- PARTITION BY : WINODW 함수각 적용될 범위
- WINDOW 함수
- ROW_NUMBER():윈도우 별로 각 레코드에 대한 일련번호 반환
- RANK():윈도우별로 순위 반환, 공동 순위를 반영
- DENSE_RANK():윈도우별 순위 반환, 공동순위 무시
아 이거 왜 안돌아가지 ㅠ.ㅠ
SELECT 상여내역, 상여금 ROW_NUMBER() OVER (PARTITION BY 상여내역 ORDER BY 상여금 DESC) AS NO FROM 상여금;
SELECT 상여내역, 상여금, RANK() OVER(PARTITION BY 상여내역 ORDER BY 상여금 DESC) AS 상여금순위 FROM 상여금;
- GROUP BY : 특정 속성을 기준으로 그룹화하여 검색할 때 사용하며 일반적으로 GROUP함수와 함께 사용
SELECT 부서,AVG(상여금) AS평균 FROM 상여금 GROUP BY 부서;
SELECT 부서,COUNT(*) AS 사원수 FROM 상여금 GROUP BY 부서;
- HAVING : GROUP BY와 함께 사용하며 GROUP에 대한 조건
- COUNT(속성명)
- SUM
- AVG
- MAX
- MIN
- STDDEV:그룹별 표준편차를 구함
- VARIANCE:그룹별 분산을 구함
- ROLLUP(속성명, 속성명, ...)
- 인수로 주어진 속성을 대상으로 그룹별 소계를 구함
- 속성의 개수 N+1 레벨까지, 하위레벨에서 상위 레벨 순으로 데이터 집계
- CUBE(속성명, 속성명, ...)
- 주어진 속성을 대상으로 모든 조합의 그룹별 소계를 구함
- 속성의 개수 N^2레벨까지 상위레벨에서 하위레벨 순으로 데이터 집계
SELECT 부서,COUNT(*) AS 사원수 FROM 상여금 WHERE 상여금 >=100 GROUP BY 부서 HAVING COUNT(*) >= 2;
SELECT 부서, 상여내역, SUM(상여금) AS 상여금합계 FROM 상여금 GROUP BY ROLLUP(부서, 상여내역);
SELECT 부서, 상여내역, SUM(상여금) AS 상여금합계 FROM 상여금 GROUP BY CUBE(부서, 상여내역);
다음글
2020/04/29 - [2020년도 상반기/정처기] - [2020 정보처리기사 실기]Section 08.SQl응용(프로시저, 트리거)
'2020년 > 정처기' 카테고리의 다른 글
[2020 정보처리기사 실기]Section 08.SQL응용(사용자 정의 함수, 커서) (0) 2020.04.29 [2020 정보처리기사 실기]Section 08.SQl응용(프로시저, 트리거) (0) 2020.04.29 [2020 정보처리기사 실기] Section 08.SQL 응용(DCL) (0) 2020.04.28 [2020 정보처리기사 실기] Section 08. SQL 응용(DDL) (0) 2020.04.28 [2020 정보처리기사 실기] Section 07. 애플리케이션 테스트 관리(4/4) (0) 2020.04.27