SQLD/요약 및 후기

[요약] Part4-SQL 기본 및 활용-7.Multi-Row Function

리버(River) 2024. 8. 22. 15:55

https://river-isyou.tistory.com/entry/Part4-SQL-%EA%B8%B0%EB%B3%B8-%EB%B0%8F-%ED%99%9C%EC%9A%A9-7Multi-Row-Function

 

Part4-SQL 기본 및 활용-7.Multi-Row Function

Part4-SQL 기본 및 활용-7.Multi-Row Function분량: 2:54:35https://youtu.be/vUEDHSxgj64?si=QuKM-yXpcSbs523S드디어 마지막! 뒤로 갈수록 강의를 급하게 들어서 ㅜ 다시 이해해야 할 거 같긴한데 얼른 진도를 뺴는게 목

river-isyou.tistory.com

*함수의 구분

내장함수 VS 정의함수

단일행함수 VS 다중행 함수

다중행함수: 집계 함수 / 그룹 함수 / 윈도우 함수


1. 집계 함수

- NULL 제외하고 계산

 

(1) GROUP BY + HAVING

- 테이블 전체가 하나의 그룹인 경우 생략 가능

집계함수 사이에 집계가 아닌(+GROUP BY기준이 아닌) 단일컬럼이 오면 오류 발생

ㄴ 포지션별 건수, 평균키 등을 뽑는데 플레이어 이름을 다 넣으면... 행이 터진다~

ㄴ 자주 나오는 문제

 

- WHERE 이 GROUP BY보다 먼저 수행되기 때문에, 제약하고 싶다면 HAVING 활용

SELECT	POSITION, ROUND(AVG(HEIGHT), 2) 평균키
FROM	PLATYER
GROUP BY	POSITION
HAVING	AVG(HEIGHT) >= 180;

 

(2) SELECT 문의 구조 및 실행 순서

 

(3) 인라인뷰

- 인라인 뷰의 SELECT 절에 명시되지 않은 칼럼은 메인 쿼리에서 사용 불가

2. 고급 집계 함수

(1) ROLL UP

*GROUPING

(2) CUBE

(3) GROUPING SETS

(4) PIVOT

 

3. 윈도우 함수

SELECT	WINDOW_FUNCTION (ARGUMENTS( OVER
		([PARTITION BY 칼럼][ORDER BY 절] [WINDOWING 절])
FROM	테이블명;
SELECT	JOB, ENAME, SAL,
		MAX(SAL) OVER (PARTITION BY JOB) JOB_MAX
FROM		EMP
ORDER BY	JOB, ENAME;

윈도우 함수는 나중에 한 번 더 보자...