TOP
class="layout-aside-left paging-number">
본문 바로가기
자격증/SQLD

SQLD 2과목 SQL 기본 및 활용 - 함수(1)

by 기록자_Recordian 2024. 1. 10.
728x90
반응형

SQLD 2과목 SQL 기본 및 활용

<목차>

 

3. 함수

내장 함수(BUILT-IN-FUNCTION) 개요
  •  각 벤더에서 제공하는 데이터베이스를 설치하면 기본적으로 제공되는 SQL 함수
  • SQL을 더욱 강력하게 해주고 데이터 값을 간편하게 조작하는데 사용
  • 핵심적인 기능들은 이름이나 표현법이 다르더라도 대부분의 데이터베이스가 공통적으로 제공
  • 입력되는 값이 아무리 많아도 출력은 하나만 된다는 M:1 관계라는 중요한 특징을 가지고 있음.

1) 단일행 함수: 함수의 입력 값이 단일행 값이 입력되는 함수

  • 단일행 내에 있는 하나의 값 또는 여러 값이 입력 인수로 표현될 수 있음.
  • SELECT, WHERE, ORDER BY 절에 사용 가능
  • 각 행(ROW)들에 대해 개별적으로 작용하여 데이터 값들을 조작하고, 각각의 행에 대한 조작 결과를 리턴
  • 여러 인자(Argument)를 입력해도 단 하나의 결과만 리턴
  • 함수의 인자로 상수, 변수, 표현식이 사용 가능하고, 하나의 인수를 가지는 경우도 있지만 여러 개의 인수를 가질 수도 있음.
  • 특별한 경우가 아니면 함수의 인자로 함수를 사용하는 함수의 중첩 가능
종류 내용 함수의 예
문자형 문자를 입력하면 문자나 숫자 값을 변환 LOWER, UPPER, SUBSTR/SUBSTRING, LENGTH/ LEN, LTRIM, RTRIM, TRIM, ASCII,
숫자형 숫자를 입력하면 숫자 값 변환 ABS, MOD, ROUND, TRUNC, SIGN, CHR/CHAR, CEIL/CEILING, FLOOR, EXP, LOG, LN, POWER, SIN, COS, TAN
날짜형 DATE 타입의 값을 연산 SYSDATE/GETDATE, EXTRACT/DATEPART, TO UNMBER(TO_CHAR(d, 'YYYY'|'MM'|'DD'))
/YEAR|MONTH|DAY
변환형 문자, 숫자., 날짜형 값의 데이터 타입 변환 TO_NUMBER. TO_CHAR, TO_DATE
/ CAST, CONVERT
NULL 관련 함수 NULL을 처리하기 위한 함수 NVL/ISNULL, NULLIF, COALESCE

 

 

2) 다중행 함수: 함수의 입력 값이 여러 행의 값이 입력되는 함수

여러 행들의 그룹이 모여서 그룹당 단 하나의 결과를 돌려주는 함수

 

다중행 함수 종류 설명 종류
집계함수 - 여러 행들의 그룹이 모여서 그룹당 단 하나의 결과를 돌려주는 함수
- GROUP BY 절은 행들을 소그룹화 함
- SELECT 절, HAVING 절, ORDER BY 절에 사용 가능
COUNT, SUM, AVG, MAX, MIN, STDDEV, VARIAN, 기타
그룹함수 하나의 SQL로 테이블을 한 번만 읽어서 빠르게 원하는 값 산출가능하게 하는 함수 ROLLUP, CUBE, GROUPING SETS
윈도우 함수 - 분석 함수나 순위 함수로도 알려져 있음.
- 복잡한 SQL 문을 작성해야 하던 것을 부분적이나마 행과 행간의 관계를 쉽게 정의하기 위해 만든 함수
- 다른 함수와는 달리 중첩해서 사용하지는 못하지만, 서브쿼리에서는 사용할 수 있음.
순위 관련: RANK, DENSE_RANK, ROW_NUMBER
집계 관련: SUM, MAX, MIN, AVG, COUNT
순서 관련: FIRST_VALUE, LAST_VALUE, LAG, LEAD, 
비율 관련: CUME_DIST, PERCENT_RANK, NTITLE, RATIO_TO_REPORT

이전글

SELECT 문

 

다음글

함수(2)

 

728x90
반응형