[ORACLE] 오라클 SQL 함수 정리(2)
[ORACLE] 오라클 SQL 함수 정리
안녕하세요 ! (^∀^●)ノシ 오늘은 지난 글에 이어서 ORACLE SQL에 대해서 배워보겠습니다. ORACLE SQL에는 다양한 함수가 있는데, 자주 사용되는 함수들을 위주로 정리해보도록 하겠습니다 ! 문
preparingforme-n-us.tistory.com
안녕하세요 !
이번 글에서는 SQL 복수행 함수를 배워보도록 하겠습니다.
단일행 함수는 이전 글에서 정리해두었으니 참고해주시면 될 것 같습니다 !
그럼 이제 GROUP BY 함수를 정리해보겠습니다 !
COUNT() 함수
- 그룹 내의 행 수를 세는 함수
- 예시
SELECT department, COUNT(*) FROM employees GROUP BY department;
SUM() 함수
- 숫자 열의 합계를 계산하는 함수
- 예시
SELECT department, SUM(salary) FROM employees GROUP BY department;
AVG() 함수
- 숫자 열의 평균을 계산하는 함수
- 예시
SELECT department, AVG(salary) FROM employees GROUP BY department;
MAX() 함수
- 그룹 내의 최댓값을 찾는 함수
- 예시
SELECT department, MAX(salary) FROM employees GROUP BY department;
MIN() 함수
- 그룹 내의 최댓값을 찾는 함수
- 예시
SELECT department, MAX(salary) FROM employees GROUP BY department;
GROUP_CONCAT() 함수
- 그룹 내의 문자열 값을 결합하여 하나의 문자열로 반환
- 예시
SELECT department, LISTAGG(employee_name, ', ') WITHIN GROUP (ORDER BY employee_name) FROM employees GROUP BY department;
FIRST() 함수
- 그룹 내의 첫 번째 값을 반환
- 예시
SELECT department, FIRST(employee_name) FROM employees GROUP BY department;
LAST() 함수
- 그룹 내의 마지막 값을 반환
- 예시
SELECT department, LAST(employee_name) FROM employees GROUP BY department;
VARIANCE() 함수
- 숫자 열의 분산을 계산하는 함수
- 예시
SELECT department, VARIANCE(salary) FROM employees GROUP BY department;
STDDEV() 함수
- 숫자 열의 표준 편차를 계산하는 함수
- 예시
SELECT department, STDDEV(salary) FROM employees GROUP BY department;
여기부터는 분석 함수인데요.
분석함수는 행끼리 연산이나 비교를 쉽게 지원해주기 위한 함수입니다.
분석함수를 잘 이용하면 복잡한 로직을 간단하게 해결할 수 있습니다.
ROLLUP 함수
- 많은 데이터가 있을 때 특정 기준을 주고 모아서 합계를 보는 경우가 많은데, 이때 활용할 수 있다.
- GROUP BY의 확장된 형태
- 예시
SELEECT COLUMN1, COLUMN2, SUM(COLUMN3) AS "COLUMN"
FROM TABLE
GROUP BY ROLLUP(COLUMN1, COLUMN2);
* 참고로 ROLLUP() 안에 맨 처음 명시한 컬럼에 대한 소그룹 합계를 구해주게 됩니다.
CUBE() 함수
- 항목들 간의 다차원적인 소계를 계산해주는 함수
- 예시
SELEECT COLUMN1, COLUMN2, SUM(COLUMN3) AS "COLUMN"
FROM TABLE
GROUP BY CUBE(COLUMN1, COLUMN2);
* CUBE를 쓰면 ROLLUP과 달리 GROUP BY 절에 명시한 모든 컬럼에 대한 소그룹 합계를 구합니다.
위 함수들은 기본적인 함수로 쓰이기 때문에 직접 사용해보고 다른 예제들도 참고해보시면서 익숙하게 하는 것이 좋습니다.
오늘은 이렇게 SQL의 기본 함수들을 정리해보았고
다음 글에서는 GROUP BY 절에 대해서 알아보도록하겠습니다 !
감사합니다 !