1. 일반 형식
SELECT [PREDICATE] [테이블명.]속성명 [AS 별칭][, [테이블명.]속성명, ...]
[, 그룹함수(속성명) [AS 별칭]]
[, WINDOW함수 OVER (PARTITION BY 속성명1, 속성명 2, ...
ORDER BY 속성명3, 속성명4, ...) [AS 별칭]]
FROM 테이블명[, 테이블명, ...]
[WHERE 조건]
[GROUP BY 속성명, 속성명, ...]
[HAVING 조건]
[ORDER BY 속성명 [ASC | DESC]];
- 그룹함수 : GROUP BY절에 지정된 그룹별로 속성의 값을 집계할 함수를 기술
- COUNT(속성명) : 그룹별 튜플 수를 구하는 함수
- SUM(속성명) : 그룹별 합계를 구하는 함수
- AVG(속성명) : 그룹별 평균을 구하는 함수
- MAX(속성명) : 그룹별 최대값을 구하는 함수
- MIN(속성명) : 그룹별 최소값을 구하는 함수
- STDDEV(속성명) : 그룹별 표준편차를 구하는 함수
- VARIANCE(속성명) : 그룹별 분산을 구하는 함수
- ROLLUP(속성명, 속성명, ...)
- 인수로 주어진 속성을 대상으로 그룹별 소계를 구하는 함수
- 속성의 개수가 n개이면, n+1 레벨까지, 하위 레벨에서 상위 레벨 순으로 데이터가 집계됨
- CUBE(속성명, 속성명, ...)
- ROLLUP과 유사한 형태이나 CUBE는 인수로 주어진 속성을 대상으로 모든 조합의 그룹별 소계를 구함
- 속성의 개수가 n개이면, 2 ⁿ 레벨까지, 상위 레벨에서 하위 레벨 순으로 데이터가 집계
- WINDOW 함수 : GROUP BY절을 이용하지 않고 속성의 값을 집계할 함수를 기술
- GROUP BY절을 이용하지 않고 함수의 인수로 지정한 속성을 범위로 하여 속성의 값을 집계
- 윈도우(WINDOW) : 대상 레코드의 범위가 되는 함수의 인수로 지정한 속성
- PARTITION BY : WINDOW 함수가 적용될 범위로 사용할 속성을 지정
- ORDER BY : PARTIUTION 안에서 정렬 기준으로 사용할 속성을 지정
- WINDOW 함수의 종류
- ROW_NUMBER() : 윈도우별로 각 레코드에 대한 일련 번호를 반환
- RANK() : 윈도우별로 순위를 반환하며 공동 순위를 반영
- DENSE_RANK() : 윈도우별로 순위를 반환하며, 공동순위를 무시하고 순위를 부여
- GROUP BY절 : 특정 속성을 기준으로 그룹화하여 검색할 때 사용, 일반적으로 GROUP BY절은 그룹 함수와 함께 사용
- HAVING절 : GROUP BY와 함께 사용, 그룹에 대한 조건을 지정
2. WINDOW 함수 이용 검색
- 함수의 인수로 지정한 속성을 범위로 하여 속성의 값을 집계
3. 그룹 지정 검색
- GROUP BY절에 지정한 속성을 기준으로 자료를 그룹화하여 검색
4. 집합 연산자를 이용한 통합 질의
SELECT 속성명1, 속성명2, ...
FROM 테이블명
UNION | UNION ALL | INTERSECT | EXCEPT
SELECT 속성명 1, 속성명2, ...
FROM 테이블명
[ORDER BY 속성명 [ASC | DESC]];
- 집합 연산자를 사용하여 2개 이상의 테이블의 데이터를 하나로 통합
- 두 개의 SELECT문에 기술한 속성들은 개수와 데이터 유형이 서로 동일해야 함
- 집합 연산자의 종류 (통합 질의의 종류)
- UNION
- 합집합
- 두 SELECT문의 조회 결과를 통합하여 모두 출력
- 중복된 행은 한 번만 출력
- UNION ALL
- 합집합
- 두 SELECT문의 조회 결과를 통합하여 모두 출력
- 중복된 행도 그대로 출력
- INTERSECT
- 교집합
- 두 SELECT문의 조회 결과 중 공통된 행만 출력
- EXCEPT
- 차집합
- 첫 번째 SELECT문의 조회 결과에서 두 번째 SELECT문의 조회 결과를 제외한 행을 출력
- UNION
'Study > EIP' 카테고리의 다른 글
[정보처리기사 필기] 프로그래밍 언어 활용 - 101. 제어문 (0) | 2025.01.15 |
---|---|
[정보처리기사 필기] SQL 응용 - 085. DML - JOIN (0) | 2025.01.14 |
[정보처리기사 필기] SQL 응용 - 083. DML - SELECT - 1 (0) | 2025.01.14 |
[정보처리기사 필기] SQL 응용 - 082. DML 데이터 조작어 (0) | 2025.01.14 |
[정보처리기사 필기] SQL 응용 - 081. DCL 데이터 제어어 (0) | 2025.01.14 |