728x90
반응형
들어가기 전에
이 포스팅은 오라클로 배우는 데이터베이스 입문(이지훈 저)을 읽으면서 기억하고자 하는 내용 및 추가적으로 알아본 내용을 담았습니다. 책 전체 내용을 보시고 싶으신 분은 책을 구매하시어 읽어보시길 바랍니다.
오라클 함수
오라클 함수란, 특정한 결과 값을 얻기 위해 데이터를 입력할 수 있는 특수 명령어를 의미합니다. 오라클 함수는 함수를 제작한 주체를 기준으로 크게 2가지로 나뉩니다.
- 내장 함수(built-in function): 오라클에서 기본으로 제공하고 있는 함수
- 내장 함수는 입력 방식에 따라 데이터 처리에 사용하는 행이 나뉩니다.
- 단일행 함수(single-row function): 데이터가 한 행씩 입력되고, 입력된 각 행별로 결과가 하나씩 나오는 함수
- 다중행 함수(multiple-row function): 여러 행이 입력되어 하나의 행으로 결과가 반환되는 함수
- 사용자 정의 함수(user-defined function): 사용자가 필요에 의해 직접 정의한 함수
이번 시간에는 Oracle에서 제공하는 내장 함수 중 다중행 함수들에 대해 알아보도록 하겠습니다.
- 다중행 함수는 위 SUM() 함수의 예시에서 볼 수 있듯이 조회를 했을 때 각 레코드별로 결과가 하나씩 생기지 않고, 하나의 행으로 결과가 반환됩니다.
- 이러한 특징때문에 다중행 함수를 사용한
SELECT절
에는 기본적으로 여러 행이 결과로 나올 수 있는 열을 함께 사용할 수 없습니다.
합계를 구하는 SUM 함수
SUM([DISTINCT, ALL 중 하나 선택(선택) - default ALL]
[합계를 구할 열이나 연산자, 함수를 사용한 데이터(필수)])
SUM
함수의 옵션을DISTINCT
로 주면, 중복 데이터가 제거되어 동일한 데이터는 합계에서 한 번만 더해집니다.
데이터 개수를 구하는 COUNT 함수
COUNT([DISTINCT, ALL 중 하나 선택(선택) - default ALL]
[개수를 구할 열이나 연산자, 함수를 사용한 데이터(필수)])
OVER(분석을 위한 여러 문법 지정)(선택)
- 위 예시에서 볼 수 있듯이
SELECT문
을 통해 조회한 데이터의 개수를 구하고자 할 경우에는COUNT(*)
로 사용할 수 있습니다(첫 번째 예시).COUNT(*)
를 이용하면, 특정 회원이 작성한 글 수, 댓글 수 등을 알 수 있어 등업 여부를 확인하는 데 사용할 수 있습니다.
NULL
데이터는COUNT
함수의 반환 개수에서 제외됩니다(두 번째 예시).
최댓값과 최솟값을 구하는 MAX, MIN 함수
MAX([DISTINCT, ALL 중 하나 선택(선택) - default ALL]
[최댓값을 구할 열이나 연산자, 함수를 사용한 데이터(필수)])
OVER(분석을 위한 여러 문법 지정)(선택)
MIN([DISTINCT, ALL 중 하나 선택(선택) - default ALL]
[최솟값을 구할 열이나 연산자, 함수를 사용한 데이터(필수)])
OVER(분석을 위한 여러 문법 지정)(선택)
- 사실상, 최댓값과 최솟값은 중복 제거에 영향을 받지 않기 때문에
DISTINCT
나ALL
을 따로 사용하지 않습니다. - 숫자 데이터의 최댓값, 최솟값 뿐 아니라 날짜 데이터와 문자 데이터의
MIN
,MAX
값을 구할 수 있습니다.
평균 값을 구하는 AVG 함수
AVG([DISTINCT, ALL 중 하나 선택(선택) - default ALL]
[평균값을 구할 열이나 연산자, 함수를 사용한 데이터(필수)])
OVER(분석을 위한 여러 문법 지정)(선택)
참고 자료
- 오라클로 배우는 데이터베이스 입문(이지훈 저)
728x90
반응형
'DB > Oracle' 카테고리의 다른 글
[Oracle] 조인(join) (0) | 2022.05.08 |
---|---|
[Oracle] Oracle Function(오라클 함수) - GROUP BY절, HAVING절, 기타 그룹화 관련 함수 (0) | 2022.05.08 |
[Oracle] Oracle Function(오라클 함수) - DECODE 함수와 CASE문 (0) | 2022.05.08 |
[Oracle] Oracle Function(오라클 함수) - NULL 처리 함수 (0) | 2022.05.07 |
[Oracle] Oracle Function(오라클 함수) - 형 변환 함수 (0) | 2022.05.07 |