본 포스팅은
BDA 빅데이터분석학회 SQLD 스터디 학습내용입니다.
[2024 이기적 SQL 개발자 이론서+기출문제]
서적과 강의를 바탕으로 서술한 내용임을 밝힙니다.
집합 연산
: 여러 SQL 결과를 연결해 하나의 형태로 결합하는 문법
SELECT COL1
FROM A
UNION
SELECT COL1
FROM B;
위 쿼리 결과와 아래 쿼리 결과를 합집합 처리(중복 제거)
SELECT COL1
FROM A
MINUS
SELECT COL!
FROM B
ORDER BY COL1;
위 쿼리 결과집합을 아래 쿼리 결과집합을 차집합(중복 제거)
집합연산자를 쓸 땐 ORDER BY는 항상 마지막에 쓰여야 함→위아래 합친 결과에 대해 ORDER BY 실행
SELECT 부서ID, SUM(연봉)
FROM 직원
GROUP BY POLLUP(부서ID);
POLLUP을 사용하면 소계와 합계를 한번에 추출. 즉, 한 번의 작성으로 여러 집계를 냄
SELECT 고객ID, 사용월, SUM(사용량)
FROM 고객월별가스사용량
GROUP BY CUBE(고객ID, 사용월);
CUBE는 입력된 컬럼의 모든 경우의 수를 집계
SELECT 고객ID, 사용월, SUM(사용량)
FROM 고객월별가스사용량
GROUP BY GROUPING SETS(고객ID, 사용월);
GROUPING SETS은 입력한 컬럼 그대로 집계처리
윈도우 함수 문법
WINDOW_FUNCTION (매개변수) OVER ([PARTITION BY 컬럼][ORDER BY 절][WINDOWING 절])
- WINDOW_FUNCION: 사용할 윈도우 함수 작성. 매개변수가 필요하면 작성
- OVER: 윈도우함수에 반드시 사용되는 구절
- PARTITION BY 컬럼: 테이블 내부의 행들을 특정 칼럼을 기준으로 그룹화(GROUP BY와 비슷)
- ORDER BY 컬럼: 특정 컬럼 기준으로 그룹화(PARTITION BY)한 대상을 정렬
- WINDOWING 절: 테이블 내에서 사용하려는 행위 범위를 지정
순위 함수(RANK, DENSE_RANK, ROW_NUMBER)
:테이블의 행과 행간의 관계를 순위로 비교
서브쿼리(SUB QUERY)
: 작성된 쿼리 내부에 다른 쿼리를 삽입하여 보다 다양하게 데이터를 출력하는 방법을 제공
스칼라 서브 쿼리(Scala Subquery)
: SELECT에서 사용되는 서브쿼리로 하나의 컬럼에 대해 하나의 행만 반환하는 특징
- 출력되는 하나의 값이 없다면 NULL을 반환
- 출력되는 컬럼은 1개여야 함
인라인 뷰(Inline View)
: FROM 부분에서 사용되는 서브쿼리로 쿼리를 작성해 마치 가상의 테이블을 동적으로 생성해 사용
'자격증 > SQLD' 카테고리의 다른 글
[SQLD] 2파트 SQL 기본 및 활용 - SQL 기본 학습 (2) | 2024.11.02 |
---|---|
[SQLD] 1파트 데이터 모델과 SQL (8) | 2024.10.28 |
[SQLD] 1파트 데이터 모델링(Data Modeling) (5) | 2024.10.27 |
댓글