1. 서브쿼리
> 하나의 쿼리 안에 존재하는 또 다른 쿼리를 말한다. 위치에 따라 다음과 같이 나뉜다.
1) 스칼라 서브쿼리(Scalar Subquery)
> 주로 SELECT 절에서 사용하지만, 칼럼이 올 수 있는 대부분 위치(UPDATE문의 SET절, ORDER BY절 등)에 사용할 수 있다. 값은 반드시 하나의 값만 반환해야 한다.
2) 인라인 뷰(Inline View)
> FROM 절에서 사용
3) 중첩 서브쿼리
> WHERE절과 HAVING절에서 사용
> 메인쿼리와 관계 여부에 따라 비연관 / 연관 서브쿼리로 나뉜다.
2. 뷰(VIEW)
> 가상 테이블로 실제 데이터를 저장하지는 않고 해당 데이터를 조회해오는 것이다.
CREATE VIEW VIEW_NAME AS (
SELECT ~
FROM ~
)
3. 집합 연산자
1) UNION (ALL) : 각 쿼리의 결과 집합의 합집합을 출력, ALL을 붙이면 중복 포함
2) INTERSECT : 각 쿼리의 결과 집합의 교집합
3) MINUS/EXCEPT : 차집합으로 오른쪽 집합의 결과 집합을 제거하고 왼쪽 집합의 결과를 출력한다.
SELECT 쿼리문
UNION / INTERSECT / EXCEPT ---
SELECT 쿼리문
4. 그룹함수 중 소계(총계)함수) : GROUP BY절에 쓴다.
1) ROLLUP( ) : 소그룹 간의 소계 및 총계를 계산해준다.
2) CUBE( ) : 소그룹 간의 소계 및 총계를 다차원적으로 계산할 수 있는 함수다.
3) GROUPING SETS () : 특정 항목에 대한 소계를 계산하는 함수다. 인자값으로 ROLLUP이나 CUBE를 사용할 수 있다.
4) GROUPING : 소계를 구분할 수 있게 해주는 함수로 SELECT절에서 쓴다.
5. 윈도우 함수
> 순위 : RANK, DENSE_RANK, ROW_NUMBER
> 집계 : SUM, MIN, MAX, AVG, COUNT
> 행 순서 : FIRST_VALUE, LAST_VALUE, LAG, LEAD
> 비율 : CUM_DIST, PERCENT_RANK, NTILE, RATIO_TO_REPORT
function() OVER(PARTITION BY column ORDER BY column)
6. Top-N 쿼리 : 보통 순위함수를 통해 구한다.
7. 셀프조인
> 말 그대로 나 자신과의 조인이다. 구분하기 위해 꼭 ALIAS를 반드시 표기해야 한다.
- 일반적으로 대-중-소 구조를 갖는 데이터를 조회할 때 사용하곤 한다.
8. 계층 쿼리
> 계층 구조를 이루는 칼럼이 존재할 때 계층 쿼리를 이용해 데이터를 출력한다.
- LEVEL / SYS_CONNECT_BY_PATH / START WITH / CONNECT BY / PRIOR 등
'[스파르타코딩클럽]데이터분석 과정 > LEARN' 카테고리의 다른 글
[토스] PO Session 정리 (0) | 2024.03.26 |
---|---|
SQLD 공부(5) 관리 구문 (0) | 2024.02.25 |
SQLD 공부 (3) SQL 기본 (0) | 2024.02.22 |
[데이터 시각화] Tableau 기초 강의 공부 (1) (1) | 2024.02.21 |
SQLD 공부 (2) 데이터 모델과 SQL (0) | 2024.02.21 |