1. 데이터베이스 함수
데이터베이스에서 데이터를 처리, 변환, 계산하고 검색하기 위해 사용되는 기능
시스템이 제공하는 내장함수와 사용자가 직접 정의하는 함수로 나뉨
2. 내장함수
데이터베이스 시스템 자체에 내장되어 있는 함수로, 기본적인 데이터 조작 및 변환 작업을 수행
3. 사용자 정의 함수
데이터베이스 사용자가 직접 정의하고 구현한 함수로, 특정 비즈니스 논리를 수행하는 데 사용
4. 단일 행 함수
단일 행 함수는 각 행에 대해 독립적으로 작동하며, 결과를 해당 행에 반환
-- 문자열을 대문자로 변환하는 단일 행 함수 (Oracle)
SELECT UPPER('hello') FROM dual;
5. 다중 행 함수
다중 행 함수는 여러 행을 대상으로 작동하며, 결과를 하나의 값을 반환합니다. 주로 서브쿼리나 조인과 함께 사용되며, 여러 행에서 집계 작업을 수행하며 보통 집계함수, 그룹함수, 윈도우 함수로 분류
6. 집계함수
집계 함수는 그룹화된 데이터에 대한 계산을 수행하고 결과를 반환.
주로 GROUP BY와 함께 사용되며, SUM, AVG, MAX, MIN 등이 포함됨
-- 부서별 평균 급여를 계산하는 집계 함수 (Oracle)
SELECT department_id, AVG(salary) FROM employees GROUP BY department_id;
7. 그룹함수
그룹 함수는 그룹화된 데이터에 대한 계산을 수행하며, 단일 결과를 반환.
주로 집계 함수와 함께 사용되며, HAVING 절과 함께 자주 사용
-- 평균 급여가 5000 이상인 부서를 찾는 그룹 함수 쿼리 (Oracle)
SELECT department_id, AVG(salary) FROM employees GROUP BY department_id HAVING AVG(salary) >= 5000;
8. 윈도우 함수
윈도우 함수는 윈도우(또는 창) 내에서 데이터를 분석하고 계산하는 데 사용.
윈도우는 정렬된 결과 집합 내에서 지정된 범위의 행을 가리킴.
-- 부서별로 급여를 순위로 나타내는 윈도우 함수 (Oracle)
SELECT department_id, salary, RANK() OVER (PARTITION BY department_id ORDER BY salary DESC) AS rank FROM employees;
'자격증고나리 > ⚽ SQLD 슈웃' 카테고리의 다른 글
[SQL] 상위 n개를 선택하는 윈도우 함수 (LIMIT,TOP,ROWNUM, FETCH FRIST) (0) | 2023.09.07 |
---|---|
[SQL] NOT EXISTS (0) | 2023.09.06 |
[SQL] 데이터베이스의 JOIN (0) | 2023.09.06 |
무결성과 제약조건 (0) | 2023.09.04 |
절차적/비절차적 DML의 차이 (1) | 2023.09.04 |