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 |
이전글
다음글
728x90
반응형
'자격증 > SQLD' 카테고리의 다른 글
SQLD 2과목 SQL 기본 및 활용 - WHERE 절 (1) | 2024.01.11 |
---|---|
SQLD 2과목 SQL 기본 및 활용 - 함수(2) (0) | 2024.01.10 |
SQLD 2과목 SQL 기본 및 활용 - SELECT 문 (1) | 2024.01.09 |
2과목 SQL 기본 및 활용 - 관계형 데이터베이스 개요 (1) | 2024.01.08 |
데이터 모델과 SQL - 본질식별자 vs 인조식별자 (0) | 2024.01.07 |